获得一个已知标题的窗口的句柄怎么写?谢谢!(100分)

  • 主题发起人 主题发起人 wujingping
  • 开始时间 开始时间
W

wujingping

Unregistered / Unconfirmed
GUEST, unregistred user!
如何获得一个已知标题的窗口的句柄!

 
FindWindow(nil, 'FormCaption');
 
GetWindowText(Form1.Handle,TheText,TextLen+1); 得到窗口TITLE

 
var
H:THandle;
begin
H:=FindWindow(nil, '我的电脑');
end;
 
var
H:THandle;
begin
H := FindWindow(nil,pchar(edit1.text));
if H > 0 then showmessage('存在');
end;
 
谢谢已经搞定!
var
f:integer;
begin
f:=FindWindow('ImLWinCls','Capture');
if f<>0 then
ShowMessage(inttostr(f));
end;
end.
 
试试FindWindow(nil,'已知标题')中不
 
if f<>0 then
用sendmessage可将他关闭。
 
这是一个关闭应用程序的函数,可以获得窗口的句柄,
function TMainForm.CloseProgram: Boolean;
var
hWndClose : HWnd;
begin
hWndClose := FindWindow(pchar('RFTPSWindow'), nil);
while hWndClose<> 0 do
begin
if hWndClose <> 0 then
begin
SendMessage(hWndClose, WM_CLOSE, 0, 0);
Result := True;
end else
Result := False;
hWndClose := FindWindow(pchar('RFTPSWindow'), nil);
end;
end;
 
TO wujingping:
“ f:=FindWindow('ImLWinCls','Capture');”不保险,
万一两个窗口标题一样,那该怎么办?
好象还真不好解决!
 
注意FindWindow函数在不同的windows平台有时不灵。这是血的教训!!!!
比如在win2000上,该API估计微软改动过了,win98 上能用
 
后退
顶部