取计算器的进程句柄,不知道对不对,帮忙看下吧 ( 积分: 10 )

  • 主题发起人 主题发起人 angel725
  • 开始时间 开始时间
A

angel725

Unregistered / Unconfirmed
GUEST, unregistred user!
取计算器的进程句柄<br>procedure&nbsp;TForm1.Button1Click(Sender:&nbsp;TObject);<br>var<br>&nbsp;&nbsp;a:Thandle;<br>&nbsp;&nbsp;pid:longword;<br>&nbsp;&nbsp;jb:integer;<br>begin<br>&nbsp;&nbsp;&nbsp;a:=FindWindow('SciCalc',nil);<br>&nbsp;&nbsp;&nbsp;GetWindowThreadProcessId(a,pid);<br>&nbsp;&nbsp;&nbsp;jb:=OpenProcess(PROCESS_ALL_ACCESS,True,pid);<br>&nbsp;&nbsp;&nbsp;edit1.text:=inttostr(jb);<br>end;<br><br>取到的结果是一个4位数,<br>不知道我的程序有错没??
 
a:=FindWindow('SciCalc',nil);&nbsp;<br><br>改成<br><br>&nbsp;&nbsp;&nbsp;a:=FindWindow(nil,'计算器');<br><br>是不是会正确一点?<br><br>这部分没看出啥问题!
 
FindWindow函数,后面的参数才是&nbsp;Window的&nbsp;Title
 
晕,我用的是类然查找计算器
 
var<br>&nbsp;&nbsp;a:Thandle;<br>&nbsp;&nbsp;pid:longword;<br>&nbsp;&nbsp;jb:integer;<br>begin<br>&nbsp;&nbsp;&nbsp;a:=FindWindow('SciCalc',nil);<br>&nbsp;&nbsp;&nbsp;GetWindowThreadProcessId(a,@pid);<br>&nbsp;&nbsp;&nbsp;jb:=OpenProcess(PROCESS_ALL_ACCESS,True,pid);<br>&nbsp;&nbsp;&nbsp;edit1.text:=inttostr(jb);<br>&nbsp;&nbsp;&nbsp;TerminateProcess(jb,&nbsp;$FFFFFFFF);<br>end;
 
接受答案了.
 

Similar threads

后退
顶部