findwindow sendmessage(50分)

  • 主题发起人 主题发起人 diode
  • 开始时间 开始时间
D

diode

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过程序从clipboard往另一个应用程序中粘贴<br>请问findwindow中<br>&nbsp; &nbsp; LPCTSTR lpClassName, // pointer to class name<br>&nbsp; &nbsp; LPCTSTR lpWindowName // pointer to window name<br>的lpClassName的意思是什么?<br>&nbsp; 请帮我写一行findwindow例句<br><br>还有 用sendmessage如何发 ctrl-v alt-f?<br>请写一行例句<br>&nbsp;谢谢<br><br>
 
1 &nbsp;要查找的窗口的类的名称 !<br>2 &nbsp;应该是Sendkey吧 !
 
就比如QQ吧.怎么实现自动机器人聊天功能.?在QQ窗口厘米,不是聊天室.
 
我想解决的是自动往另一个application中粘贴数据<br>俺是这样写的<br>&nbsp; h111:=findwindow('Notepad',nil);<br>&nbsp; h111:=findwindowex(h111,0,'Edit',nil);<br>// &nbsp;Edit1.text:=inttostr(h111);<br>&nbsp; sendmessage(h111,WM_KEYDOWN,vk_control+$56,1);<br>&nbsp; sendmessage(h111,WM_KEYUP,vk_control+$56,1);<br>&nbsp; postmessage(h111,$56,0,0);<br>可是notepad就是没反应:-(<br><br>
 
用SPY可以看到窗口的标题与窗口类名,ClassName是指窗口类名
 
这俺知道 不过我用的是winsight<br>俺想知道类名的准确定义<br>和如何向其它的应用程序发 alt-f &nbsp;ctrl-c<br>
 
用RegisterWindowClass()是指明的窗口的类。Delphi,VB,VC等都封装了这一过程。Windows<br>使用窗口的类名来生成合适的窗口。
 
procedure TfrmTechList.SpeedButton5Click(Sender: TObject);<br>var<br>&nbsp; AHandle:THandle;<br>&nbsp; MyHandle:THandle;<br>begin<br>&nbsp; AHandle:=FindWindow(nil,'计算器');<br>&nbsp; MyHandle:=FindWindow(nil,'我的计算器');<br>&nbsp; if (AHandle=0) and (MyHandle=0) then<br>&nbsp; begin<br>&nbsp; &nbsp; WinExec('calc.exe',sw_Normal);<br>&nbsp; &nbsp; AHandle:=FindWindow(nil,'计算器');<br>&nbsp; &nbsp; SetWindowText(AHandle,'我的计算器');<br>&nbsp; end<br>&nbsp; else<br>&nbsp; begin<br>&nbsp; &nbsp; BringWindowToTop(MyHandle);<br>&nbsp; &nbsp; //FlashWindow(MyHandle,True);<br>&nbsp; end;<br>end;<br>
 
如果是要copy.paste的话,直接发WM_PASTE和WM_COPY会比较简单<br>如果要用sendmessage模拟组合按键,你必须发送按键序列,如:<br>alt键down<br>f键down<br>f键up<br>alt键up<br>这样
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
759
import
I
后退
顶部