高分求助必须使用sendmessage在另一个程序坐标上模拟鼠标点击? 还有就是这个坐标怎么得来?
下面代码运行没有效果,我该怎么办呢?通过句柄"画图"程序,使用sendmessage发送鼠标命令在画图程序上显示个点.
procedure TForm1.Button1Click(Sender: TObject);
var
hmine: Thandle; //窗体的句柄
begin
//开始执行检查软件是否启动。
hmine := FindWindow(nil,'未命名 - 画图'); if hmine = 0 then
//已经启动了
form1.Caption :='程序未运行'
else
//未启动,读取自动启动
form1.Caption :='程序运行';
// 按下
SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(11,11));
// 抬起
SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(11,11));
end;
end.
下面代码运行没有效果,我该怎么办呢?通过句柄"画图"程序,使用sendmessage发送鼠标命令在画图程序上显示个点.
procedure TForm1.Button1Click(Sender: TObject);
var
hmine: Thandle; //窗体的句柄
begin
//开始执行检查软件是否启动。
hmine := FindWindow(nil,'未命名 - 画图'); if hmine = 0 then
//已经启动了
form1.Caption :='程序未运行'
else
//未启动,读取自动启动
form1.Caption :='程序运行';
// 按下
SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(11,11));
// 抬起
SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(11,11));
end;
end.
rect: TRect;
hmine : HWND;
begin
hmine := FindWindow(nil,'未命名 - 画图'); GetWindowRect(hmine, rect); SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(Rect.left + 10, Rect.Top + 10));
// 抬起
SendMessage(hmine, WM_LBUTTONDOWN, 1, MAKELONG(Rect.left + 10, Rect.Top + 10));
end;