windows獲取桌面控制代碼

2021-06-11 20:12:26 字數 505 閱讀 4021

昨晚上一位朋友問我如何獲取桌面控制代碼,當時第一反應就是用getdesktopwindow()來獲取,但是這個函式獲取的是覆蓋整個螢幕的控制代碼,如果只獲取桌面的控制代碼,則不能使用這個函式。

通過spy++發現,桌面其實是乙個子視窗,其上面有兩個父視窗 如圖:

這三個視窗都沒有標題,它們的類名分別為:progman、shelldll_defview和syslistview32;這就好辦了,只需要獲取到progman的控制代碼,再獲取它的子視窗的子視窗就是桌面控制代碼,**如下:

hwnd hwnd = findwindow("progman", null);  

hwnd = getwindow(hwnd, gw_child);

hwnd = getwindow(hwnd, gw_child);

這樣就可以獲取到桌面控制代碼了。

獲取桌面視窗的控制代碼

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

Windows控制代碼

說明 究竟什麼是windows控制代碼 參考資料 寫在前面 對於 控制代碼 在下一直停留在一知半解的認識層面,近日在下學習windows程式設計,決定趁此機會將控制代碼徹底搞清楚。查閱了一些網路上的資料,發現網路上的講解大概可以分為兩類 一種是以比喻 模擬的方式說明,這種方法雖然形象易懂,但並沒有從...

windows視窗外掛程式獲取父子控制代碼

命令名稱find查詢視窗 命令功能 查詢視窗類名或者標題 命令引數 引數1 字串型,視窗類名 引數2 字串型,視窗標題 返 回 值 整數型,視窗控制代碼 命令名稱findex查詢子視窗 命令功能 根據父視窗控制代碼查詢子視窗匹配類名或者匹配標題 命令引數 引數1 整數型,父視窗控制代碼 引數2 整數...