求救! sendmessage 无效!!请大家帮帮我
本人的程序片段:
h:= FindWindow(nil,'UltraEdit-32 12.10b 安装');
i:= FindWindowEx(h,0,nil,'下一步 >');
SendMessage(i,WM_LBUTTONDOWN,0,$000a001e);
SendMessage(i,WM_LBUTTONUP,0,$000a001e);
不管是用sendmessage 还是用 postmessage 还是把消息换成BM_CLICK 都不好使,可以清楚的看到按钮被按下,但是他不进行到下一步,只是按钮被点了,但是按钮的功能有实现,按下一步,它不往下一步走啊,大家 看看错误在哪里。谢谢帮忙。
[解决办法]
SetCursorPos(342,343);
mouseevent(MOUSE_EVENTF_LEFTDOWN,0,0,0,0);//单击鼠标左键
mouseevent(MOUSEEVENTF_LEFTUP,0,0,0,0);//释放鼠标左键
用mouseevent试试
[解决办法]
一定是句柄 问题
[解决办法]
模拟鼠标操作可不是容易的事, 是个比较难的技术活, delphi的确CD安装包中好象自带模拟按键的代码.
[解决办法]
试试这种方式
procedure TForm1.Button1Click(Sender: TObject);
var
i, h: hwnd;
begin
h := FindWindow(nil, 'UltraEdit-32?12.10b?安装');
SetForegroundWindow(h);
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0), 0, 0); // 按下键。
Sleep(25);
keybd_event(VK_RETURN, MapVirtualKey(VK_RETURN, 0), KEYEVENTF_KEYUP, 0);// 放开键。
end;