首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

! sendmessage 无效!请大家帮帮小弟我

2013-07-16 
求救! sendmessage 无效!!请大家帮帮我本人的程序片段:h: FindWindow(nil,UltraEdit-32 12.10b 安装)i

求救! 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;

热点排行