关于API函数SendMessage.

kaindy7633 2007-01-29 06:00:49
那些能给个SendMessage函数的具体示例?向一个窗口发送按键消息.
第1个参数是句柄,后面的就不太清楚了....
...全文
367 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlp555ren 2007-01-30
  • 打赏
  • 举报
回复
我想应该是这样的,记事本的编辑框没有获得输入句柄,所以才没有显示。。
kaindy7633 2007-01-29
  • 打赏
  • 举报
回复
我仔细想了一下,可能问题出在了句柄上面,我找的哪个hwnd应该是记事本主程序窗口句柄,而不是哪个编辑框的句柄,主程序窗口本身不能接受按键消息,所以没有反应,我试了用findwindowex来找哪个编辑框的句柄,但还是没反应,不知道应该怎么写.
kaindy7633 2007-01-29
  • 打赏
  • 举报
回复
这个是我写的实验代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
opendialog1.Filter:='可执行文件(*.exe)|*.exe|所有文件(*.*)|*.*';
if opendialog1.Execute then
edit1.Text:=opendialog1.FileName;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
hwnd:integer;
begin
winexec(pchar(edit1.text),sw_show);
hwnd:=findwindow(nil,'无标题 - 记事本');
sendmessage(hwnd,wm_keydown,65,0);
end;

上面的都没有问题,就是最后一句,向打开的记事本里写a,打是打开了,而且也得到了句柄,但是没用,记事本没反应,,用PostMessage也做了实验,还是不行.不知道那里错了。请指点一下.
dBASEIII 2007-01-29
  • 打赏
  • 举报
回复
以前给楼主回过类似一贴的。当时没有写代码.....

楼主可以参考楼上,以及以下两贴:

http://community.csdn.net/Expert/topic/5323/5323508.xml?temp=.3757593

http://community.csdn.net/Expert/topic/5323/5323225.xml?temp=.9706079
pzl625 2007-01-29
  • 打赏
  • 举报
回复
MsgResult := SendMessage(TargetControl.Handle, MYMESSAGE, 0, 0);

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧