2009-10-05 25 views
3

Hey, j'utilise D 1.041 with Tango 0.99.8 et je me demandais comment j'aller sur le déplacement de la souris et la simulation des presses à clavier et obtenir d'infos sur l'écran, par exemple la couleur d'un pixel spécifique sur une coordonnée spécifique. J'utilise Windows.D 1,0 (Tango) de la souris de mouvement; simulent des presses à clavier etc

Toute aide serait grandement apprécié. Je veux programmer une bibliothèque basée sur les classes avec des fonctionnalités qui ressemblent à AutoIt. Par exemple:

mouse.move(100, 200); 
mouse.click(2); // 2 = Middle Mouse Click 
keyboard.type('abc'); 

import tango.sys.win32.UserGdi; 

class Mouse{ 
    alias SetCursorPos set_pos; 
    alias GetCursorPos get_pos; 
    void left_click(){ 
     mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0); 
     mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0); 
    } 
    void right_click(){ 
     mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0); 
     mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0); 
    } 
} 

Ce code me donne l'erreur suivante:

Error 42: Symbol Undefined [email protected] --- errorlevel 1

Toute aide à ce sujet? J'utilise toujours version.

+1

Ce n'est pas un problème spécifique D. Essayez de rechercher une solution basée sur C; portage qui devrait être simple. – FeepingCreature

+0

S'il vous plaît ne pas sauter aux conclusions si rapidement. Comme vous pouvez le voir ci-dessous, c'est un problème spécifique à Tango, donc c'est aussi spécifique à D. –

Répondre

2

Ce bogue dans Tango.

Tango déclare mouse_event comme:

void mouse_event(DWORD, DWORD, DWORD, DWORD); 

en MSDN montre qu'il prend 5 paramètres, non 4.

Pour le développement sérieux Win32 vous devriez jeter un coup d'oeil au projet Windows API bindings.

Questions connexes