怎麼用C 獲取指定視窗的控制代碼(筆記)

2021-07-25 10:33:21 字數 1074 閱讀 6109

獲取滑鼠位置處視窗控制代碼,需要使用到win32api函式windowfrompoint,用來根據座標獲取視窗控制代碼,c#引用如下:

[dllimport("user32.dll", entrypoint = "windowfrompoint")]//指定座標處窗體控制代碼

public static extern int windowfrompoint(

int xpoint,

int ypoint

);只要能夠獲取滑鼠的位置,然後呼叫該函式就可以得到視窗控制代碼。

獲取滑鼠位置,需要使用滑鼠鉤子,本文使用已經設計好的滑鼠鉤子類,關於該類的詳細資訊見參考資料。

啟動vs,新建c# winform專案,如圖:

引用win32api和mousehook滑鼠鉤子類,詳見參考資料。

在form1中新增4個label控制項,並布局如下:

在form1中新增**,如下:

public partial class form1 : form

mousehook mh;

private void form1_load(object sender, eventargs e)

void mh_mousemoveevent(object sender, mouseeventargs e)

,)", x, y);

int hwnd = win32api.windowfrompoint(x, y);//獲取指定座標處視窗的控制代碼

lb_h.text = hwnd.tostring();

}private void form1_formclosed(object sender, formclosedeventargs e)}

完成之後,除錯執行,結果如下:

c 獲取視窗控制代碼的方法

findwindow 函式原型 hwnd findwindow lpcstr lpclassname,lpcstr lpwindowname findwindow這個函式檢索處理頂級視窗的類名和視窗名稱匹配指定的字串。這個函式不搜尋子視窗。lpclassname引數指向類名,lpwindowname...

獲取桌面視窗的控制代碼

getdestopwindow取到的是桌面視窗的控制代碼,但不是我們所看到的那個包含圖示的視窗。包含圖示的視窗實際上是desktopwindow的一 個字視窗。確切地講,desktop window包含乙個無標題的 類名為 shelldll defview 的子視窗,這個字視窗又包含乙個無標題的 類...

Qt獲取當前視窗控制代碼 獲取視窗中控制項的控制代碼

大家可以看這篇文章,講的比較詳細。winid 函式。qt5裡面 如果想獲取qt視窗的控制代碼用於顯示 且看我操作 hwnd m hwnddisplay hwnd this winid 獲取當前this視窗的控制代碼 mycamera display m hwnddisplay 呼叫你camera的d...