3

嘿,我正在使用D 1.041 和 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 --- 错误级别 1

有什么帮助吗?我仍在使用版本

4

1 回答 1

2

这是 Tango 中的一个错误。

Tango 将 mouse_event 声明为:

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

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

对于认真的 Win32 开发,您应该查看Windows API 绑定项目。

于 2009-10-09T02:22:41.053 回答