delphi 中 FindWindowEx 函數示例

函數功能:該函數得到一個窗口的句柄,該窗口的類名和窗口名與給定的字符串相匹配。這個函數查找子窗口,從排在給定的子窗口後面的下一個子窗口開始。在查找時不區分大小寫。

     函數原型: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
相關文章
相關標籤/搜索