2009-10-05 3 views
3

안녕하세요, 저는 D 1.041 with Tango 0.99.8을 사용하고 있으며 마우스를 움직이고 키보드 프레스를 시뮬레이션하고 화면에서 정보를 얻는 방법, 예를 들어 특정 좌표의 특정 픽셀 색상을 궁금합니다. Windows를 사용하고 있습니다.D 1.0 (탱고) 마우스 이동; 키보드 프레스 시뮬레이션 등

도움을 주시면 감사하겠습니다. AutoIt과 비슷한 기능을 가진 클래스 기반 라이브러리를 프로그래밍하고 싶습니다. 예를 들어 :

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

그에 어떤 도움 :

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); 
    } 
} 

이 코드는 나에게 다음과 같은 오류를 준다? 나는 여전히 version을 사용하고 있습니다.

+1

이것은 특정 문제가 아닙니다. C 기반 솔루션을 찾으십시오. 이식은 간단해야합니다. – FeepingCreature

+0

너무 빨리 결론을 내리지 마십시오. 아래에서 볼 수 있듯이 이것은 탱고 특유의 문제이므로 D 특유의 문제이기도합니다. –

답변

2

이것은 Tango의 버그입니다.

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

MSDN 동안 당신이 Windows API bindings 프로젝트를 살펴 안되는 중대한는 Win32 개발을위한 5 개 매개 변수가 아닌 4

걸리는 보여줍니다으로

탱고 mouse_event를 선언합니다.