c 裡FindWindow的用法

2021-04-12 22:18:31 字數 817 閱讀 3437

findwindow()函式的用法。要在c#裡使用該api,寫出findwindow()函式的宣告:

[dllimport("coredll.dll", entrypoint = "findwindow")]

private extern static intptr findwindow(string lpclassname, string lpwindowname);

這個函式有兩個引數,第乙個是要找的視窗的類,第二個是要找的視窗的標題。在搜尋的時候不一定兩者都知道,但至少要知道其中的乙個。有的視窗的標題是比較容易得到的,如"計算器",所以搜尋時應使用標題進行搜尋。但有的軟體的標題不是固定的,如"記事本",如果開啟的檔案不同,視窗標題也不同,這時使用視窗類搜尋就比較方便。如果找到了滿足條件的視窗,這個函式返回該視窗的控制代碼,否則返回0。 看例子

intptr parenthwnd = new intptr(0);

parenthwnd = findwindow(null,"word mobile");

//判斷這個窗體是否有效

if (parenthwnd != intptr.zero)

else

messagebox.show("沒有找到視窗");

從上面的討論中可以看出,如果要搜尋的外部程式的視窗標題比較容易得到,問題是比較簡單的。可如果視窗的標題不固定或者根本就沒有標題,怎麼得到視窗的類呢?如果你安裝了visual c++,你可以使用其中的spy,在spy++中有乙個findwindow工具,它允許你使用滑鼠選擇視窗,然後spy++會顯示這個視窗的類。

在win32 api中還有乙個findwindowex,它非常適合尋找子視窗。

c 裡FindWindow的用法

findwindow 函式的用法。要在c 裡使用該api,寫出findwindow 函式的宣告 dllimport coredll.dll entrypoint findwindow private extern static intptr findwindow string lpclassname...

C 查詢視窗,FindWindow用法

findwindow 用來根據類名和視窗名來得到視窗控制代碼的。但是這個函式不能查詢子視窗,也不區分大小寫。如果要從乙個視窗的子視窗中查詢需要使用findwindowex。函式原型 hwnd findwindowex hwnd hwndparent,hwnd hwndchildafter,lpcts...

C 查詢視窗,FindWindow用法

findwindow 用來根據類名和視窗名來得到視窗控制代碼的。但是這個函式不能查詢子視窗,也不區分大小寫。如果要從乙個視窗的子視窗中查詢需要使用findwindowex。函式功能 該函式獲得乙個視窗的控制代碼,該視窗的類名和視窗名與給定的字串相匹配。這個函式查詢子視窗,從排在給定的子視窗後面的下乙...