函數功能:該函數得到一個窗口的句柄,該窗口的類名和窗口名與給定的字符串相匹配。這個函數查找子窗口,從排在給定的子窗口後面的下一個子窗口開始。在查找時不區分大小寫。
函數原型:HWND FindWindowEx(HWND hwndParent,HWND hwndChildAfter,LPCTSTR lpszClass,LPCTSTR lpszWindow);
參數;
hwndParent:要查找子窗口的父窗口句柄。
若是hwnjParent爲NULL,則函數以桌面窗口爲父窗口,查找桌面窗口的全部子窗口。
Windows NT5.0 and later:若是hwndParent是HWND_MESSAGE,函數僅查找全部消息窗口。
hwndChildAfter :子窗口句柄。查找從在Z序中的下一個子窗口開始。子窗口必須爲hwndPareRt窗口的直接子窗口而非後代窗口。若是HwndChildAfter爲NULL,查找從hwndParent的第一個子窗口開始。若是hwndParent 和 hwndChildAfter同時爲NULL,則函數查找全部的頂層窗口及消息窗口。
lpszClass:指向一個指定了類名的空結束字符串,或一個標識類名字符串的成員的指針。若是該參數爲一個成員,則它必須爲前次調用theGlobaIAddAtom函數產生的全局成員。該成員爲16位,必須位於lpClassName的低16位,高位必須爲0。
lpszWindow:指向一個指定了窗口名(窗口標題)的空結束字符串。若是該參數爲 NULL,則爲全部窗口全匹配。返回值:若是函數成功,返回值爲具備指定類名和窗口名的窗口句柄。若是函數失敗,返回值爲NULL。
若想得到更多錯誤信息,請調用GetLastError函數。
速查 NT:4.0對以上版本;Windows:95以上版本;Windows CE:不支持;頭文件:winuser.h;庫文件:user32.lib;Unicode:在Windows NT上實現爲Unicode和ANSI兩種版本。
unit
unitWinExe;
interface
uses
Windows,Messages,Dialogs;
implementation
var
fHwnd,cHwnd:THandle;
cmdLine:string;
begin
cmdLine :=
'C:\Program Files\Huawei-3Com\H3C 802.1X 客戶端\Dot1XClient.exe';
WinExec(PChar(cmdLine),SW_HIDE) ;
fHwnd:=FindWindow(
'#32770',
nil);
//查找到窗口#32770,’#32770‘用Spy++查出來的。
if fHwnd>0
then
begin
cHwnd:=FindWindowEx(fHwnd,0,
nil,'鏈接');
//查找#32770的子窗口'鏈接'
if cHwnd>0
then
PostMessage(cHwnd,WM_KEYDOWN,VK_RETURN ,0) ;
//按回車鍵
end;
end