5 子視窗呼叫父視窗 視窗控制代碼 小知識總結

2021-10-16 07:38:54 字數 2034 閱讀 8773

1 findwindow

hwnd winapi findwindow(  _in_opt_  lpctstr lpclassname,  _in_opt_  lpctstr lpwindowname);
該函式通過建立視窗時的類名和視窗名查詢視窗並返回該視窗的控制代碼,函式不會搜尋子視窗。該函式區分大小寫。
引數lpclassname [in, optional]type: lpctstr

類名和視窗名是在先前呼叫registerclass or registerclas***時建立的

如果lpclassname為null,他會尋找所有和lpwindowname引數匹配的視窗

lpwindowname [in, optional]type: lpctstr

視窗的名字也是視窗的title. 如果該引數為null,所有視窗名字都是匹配的.

返回值type: hwnd

如果函式呼叫成功,返回指向該視窗的控制代碼; 否則返回null。得到更多的錯誤資訊呼叫getlasterror

示例:

char classname="notepad";    hwnd hwnd=::findwindow(classname,null);auto hwnd = findwindow(l"iptip_main_window", null);
注意如果lpwindowname 非空, findwindow 會呼叫getwindowtext 函式去得到視窗的名字作為比較

2 enumchildwindows

bool callback enumchildproc(hwnd hwnd,lparam lparam)::enumchildwindows(hwnd,enumchildproc,0);
3 getparent獲得指定視窗父視窗的控制代碼

hwnd getparent(hwnd hwnd);

4gettopwindow獲得指定視窗的第乙個子視窗的控制代碼

gettopwindow函式檢查與特定父視窗相聯的子視窗z序,並返回在z序頂部的子視窗的控制代碼。

hwnd gettopwindow(hwnd hwnd);

hwnd:被查序的父視窗的控制代碼。如果該引數為null,函式返回z序頂部的視窗控制代碼。

返回值;如果函式成功,返回值為在z序頂部的子視窗控制代碼。如果指定的視窗無子視窗,返回值為null。

hwnd getwindowhandlebypid(dword dwprocessid)      }      h = getnextwindow( h , gw_hwndnext);  }  return null;}
5 getwindow

hwnd getwindow(hwnd hwnd,uint ncmd)

hwnd:視窗控制代碼。這個函式要返回的視窗控制代碼是依據ncmd引數值相對於hwnd引數的關係

ncmd:說明指定視窗與要獲得控制代碼的視窗之間的關係。該引數值可以是下列之一:

gw_child(&h5):如果指定視窗是父視窗,則獲得的是在tab序頂端的子視窗的控制代碼,否則為null。函式僅檢查指定父視窗的子視窗,不檢查繼承視窗。

更多資訊 可以搜尋網路

6 getnextwindow

hwnd getnextwindow(hwnd hwnd,unit wcmd)

wcmd:指明視窗返回的是前一視窗的控制代碼還是後一視窗的控制代碼。該引數可以是下列兩個值之一:

gw_hwndnext:返回在給定視窗的下面視窗的控制代碼。

gw_hwndprev:返回在給定視窗的上面視窗的控制代碼。

gw_hwndfirst = 0;

gw_hwndlast = 1;

gw_hwndnext = 2;

gw_hwndprev = 3;

gw_owner = 4;

gw_child = 5;

5 子視窗呼叫父視窗 視窗 (5)

在圖7.10中我們看到,自從9月份的一根上吊線以及後面的一根黑色吞沒蠟燭線 覆蓋的就是這根上吊線 出現後,市場便一路 9月末,市場形成了乙個視窗,它表明 還將繼續。後來,這個視窗被關閉了,但是買進的動力隨即煙消雲散。這一點從圖示的流星形態上得到了證實。在圖7.11中,我們要討論3個視窗。視窗1形成於...

子視窗呼叫父視窗

相信學計算機的大學生都碰過這樣的程式設計作業吧 程式執行後主視窗隱藏,然後彈出登入框,輸入賬號密碼登陸成功後再關閉登陸框,然後讓之前隱藏的主視窗重新顯示。沒錯,我當時就是這麼笨,怎麼都想不到好的解決辦法 當時的同學都是不管之前隱藏的主視窗,而是直接新建了乙個主視窗 剛好昨晚在做專案時碰到類似的情況,...

C 根據視窗控制代碼設定父視窗並在父視窗中顯示子視窗

已經知道了乙個視窗的控制代碼,如何將這個視窗設定為父視窗並顯示乙個子視窗進去?主要使用了win api函式setparent dllimport user32.dll entrypoint setparent public static extern int setparent intptr hwn...