【发布时间】:2009-10-11 22:24:06
【问题描述】:
嘿,我正在使用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 --- 错误级别 1
对此有什么帮助吗?我还在用version。
【问题讨论】:
-
这不是 D 特定的问题。尝试寻找基于 C 的解决方案;移植应该很简单。
-
请不要这么快下结论。正如您在下面看到的,这是一个 Tango 特有的问题,因此它也是 D 特有的。