请问如何利用spy++查看获得的内容来发送消息 ( 积分: 40 )

  • 主题发起人 主题发起人 siso
  • 开始时间 开始时间
S

siso

Unregistered / Unconfirmed
GUEST, unregistred user!
有一程序,例如名字叫&quot;窗口档案&quot;,里面有两个edit文本框。<br>我用spy++查看 两edit分别是<br>001F021E '' TEdit 可见<br>001C0236 '' TEdit 可见<br><br>那么var hw:hWnd;<br>begin<br>hw:= findwindow(nil,'商品档案');<br>if hw&lt;&gt;0 then begin<br>hw:=findwindowex(hw,0,PChar('TEdit'),nil);//这一行怎么利用spy++查看到的内容对&quot;窗口档案&quot;发信息<br>sendmessage(hw,wm_settext,0,longint(pchar('test')));<br>end;<br>end;<br>spy++显示的这两个001F021E与001C0236是什么意思?能否代替手柄来使用。<br>如上所示,如何对指定的edit发送,还有如何接收信息(我不知道格式)<br>我对消息处理不太了解,麻烦给出代码。谢谢!
 
有一程序,例如名字叫&quot;窗口档案&quot;,里面有两个edit文本框。<br>我用spy++查看 两edit分别是<br>001F021E '' TEdit 可见<br>001C0236 '' TEdit 可见<br><br>那么var hw:hWnd;<br>begin<br>hw:= findwindow(nil,'商品档案');<br>if hw&lt;&gt;0 then begin<br>hw:=findwindowex(hw,0,PChar('TEdit'),nil);//这一行怎么利用spy++查看到的内容对&quot;窗口档案&quot;发信息<br>sendmessage(hw,wm_settext,0,longint(pchar('test')));<br>end;<br>end;<br>spy++显示的这两个001F021E与001C0236是什么意思?能否代替手柄来使用。<br>如上所示,如何对指定的edit发送,还有如何接收信息(我不知道格式)<br>我对消息处理不太了解,麻烦给出代码。谢谢!
 
就是句柄吧
 
发消息用PostMessge或是SendMessage<br>比如PostMessage(001C0236, WM_CLOSE, 0, 0);<br>是关闭句柄是001c0126的窗口。具体的消息在Msdn上查吧。看他接收的消息那就要用钩子了,这样的程序网上有,你找找吧。
 
谢谢两位<br>那么就这个sendmessage(hw,wm_settext,0,longint(pchar('test')));<br>应该把001F021E或001C0236填在哪里<br>是否直接sendmessage(001F021E,wm_settext,0,longint(pchar('test')));<br>这样我试了不能通过编译呀~
 
十六进制数字, 前面要加&quot;$&quot;, 如 &nbsp;SendMessage($001F021E, WM_SETTEXT, 0, Longint(PChar('test')));
 
sendmessage($001F021E,wm_settext,0,longint(pchar('test')));
 
谢谢大家了
 
多人接受答案了。
 

Similar threads

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