D 1.0(Tango)移动鼠标;模拟键盘按键等

时间:2009-10-05 15:59:04

标签: keyboard cursor d tango

嘿,我正在使用D 1.041 with Tango 0.99.8并想知道如何移动鼠标并模拟键盘按下并从屏幕获取信息,例如特定坐标上特定像素的颜色。我正在使用Windows。

非常感谢任何帮助。我想编写一个基于类的库,其功能类似于AutoIt。例如:

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

此代码给出了以下错误:

  

错误42:符号未定义   _mouse_event @ 16   --- errorlevel 1

对此有何帮助?我还在使用version

1 个答案:

答案 0 :(得分:2)

这是Tango的一个错误。

Tango将mouse_event声明为:

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

MSDN表示它需要5个参数,而不是4个。

对于严肃的Win32开发,您应该查看Windows API bindings项目。