我用sendmessage对一个程序发消息,为什么没有反映呢?解决后,分全给你~! ( 积分: 100 )

  • 主题发起人 blueflag
  • 开始时间
B

blueflag

Unregistered / Unconfirmed
GUEST, unregistred user!
我是在学习这个 sendmessage ,对一个用C# 编写的软件,进行程序间通讯,我对C# 上的一些菜单 或 按钮 ,edit,表单 ,模拟鼠标单击,或 输入字符 ,等,但是发现 EDIT 很简单就搞定了,但是其他的,如 按钮 或 菜单 模拟鼠标单击 或 双击 ,没有任何反映~
这是为什么呢?大哥们,指导一下,谢谢
 
你应该写出你的代码吧,光说现象,大家也搞不懂你的代码有什么问题呀。
 
是啊,连你发的什么消息都不知道怎么回答啊。
另外也要讲清楚怎么发的,和是谁接收的消息。
 
如果你的 按钮 或 菜单下面有panel之类的容器的话,要先找到容器的handle
 
procedure TFRM.Button8Click(Sender: TObject);
var
HD:THandle;
begin
if Lv.ItemIndex>=0 then
begin
HD:=StrToInt(Lv.Selected.SubItems.Strings[1]); // 首先从listview中获取句柄,这步可以不考虑,我用SPY 获取了句柄,直接在edit5 中输入了,见下面!
Sendmessage(HD,WM_LBUTTONDOWN,0,0); //按下
Sendmessage(HD,WM_LBUTTONUP,0,0); //抬起
end
else if Edit5.Text<>'' then
begin
HD:=StrToInt(Edit5.text);
Sendmessage(HD,WM_LBUTTONDOWN,0,0); //按下
Sendmessage(HD,WM_LBUTTONUP,0,0); //抬起
end
else
Showmessage('没有选择句柄!');
end;
这个有问题吗?
 
帮你顶: www.chinadacs.cn
 
应该不是 句柄 的问题吧? 我用 spy 获取句柄 ,也是没有反映啊~
sendmessage 有什么要求啊?必须是控件类的吗? 非控件类的不行吗?
 
没人答?还是都在吃饭啊? 那我先去吃饭,回来接着等你哦~~
 
吃饭回来啦都?~! 回答我问题啊
 
To: blueflag
用Postmessage.
Sendmessage是要返回的
 
问题没有解决,现在我怀疑这个 sendmessage 不是对什么都可以的,或者说我的句柄查找的有问题,比如菜单的句柄 或者 窗口内 非控件 类组件 的句柄,可是这些句柄,怎么找呢? 怎么处理这些呢?
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部