delphi获取窗体的句柄
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi获取窗体的句柄相关的知识,希望对你有一定的参考价值。
两个独立的问题。
1.我想用ShellExecute命令运行外部程序(带有窗体),同时想获得这个窗体的句柄。补充:在实际中我想多次打开同个外部程序,并想通过句柄区分它们
2.在外部程序运行到指定的时候,执行某一条命令。
补充:比如,外部程序完全打开需要一定的时间,我想等其完全打开后再执行某一条语句。
谢谢了
谢谢你,我找了,通过参数lpProcessInformation获得进程的句柄,再通过WaitForSingleObject设置等待的时间实现了第二个目的。 但是createprocess中的参数lpProcessInformation只有进程和当前线程的句柄,还是没有窗体的句柄,请问怎么获得窗体的句柄,麻烦说详细点。 而且我发现用createprocess同时打开两次某一个外部程序,参数lpProcessInformation的hProcess和hThread在两次中是相同的,起不到区分打开先后的作用。
Delphi如何获取其他程序窗体Left和Top
如何获取一个正在运行的程序他的窗体在屏幕中的left和top值?
我要获取的是另一个程序,不是自身
procedure TForm1.Button1Click(Sender: TObject);
var
hwn :THandle;
r :TRect;
begin
hwn := FindWindow('CabinetWClass','我的电脑);//XP的是'我的电脑',vista是'计算机'
if hwn <> 0 then
begin
GetWindowRect(hwn,r);
showmessage(inttostr(r.Left));
showmessage(inttostr(r.Top));
end;
end; 参考技术A 比如要用 form2
在implenention下边
添加 uses unit2.pas;
然后 写 form2.left就 好用 了
以上是关于delphi获取窗体的句柄的主要内容,如果未能解决你的问题,请参考以下文章