獲得視窗並列舉其子視窗

2022-04-05 19:10:42 字數 3305 閱讀 5675

zzz可以呼叫函式findwindow(視窗類名,視窗標題)獲得視窗的控制代碼,然後呼叫enumchildwindows(父視窗,**函式名,引數)來獲得父視窗下的子視窗的控制代碼,**實現如下

#include 

<

windows.h

>

bool callback enumchildproc(hwnd hwnd,lparam lparam);

intwinapi winmain(hinstance hinstance,hinstance hprevinstance,lpstr lpcmdline,

intncmdshow)

messagebox(null,

"fail!",

"fail

",mb_ok);

return0;

}bool callback enumchildproc(hwnd hwnd,lparam lparam)

獲得這些控制代碼以後就可以為所欲為了,能做的事如下:

findwindow 按類名或視窗名(caption)查詢乙個視窗

findwindowex 類似於findwindow提供了更多的功能

getlastactivepopup 針對指定的視窗,取回上乙個活動的彈出式視窗的控制代碼

getparent 獲得指定視窗父視窗的控制代碼

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

getwindow 如給定乙個視窗控制代碼,該函式能取回具有特定關係的另乙個視窗的控制代碼。如,第乙個子視窗、父視窗或視窗列表內的上乙個或下乙個視窗。

setparent 改變任何視窗的父視窗。

bringwindowtotop 使指定的視窗進入可見視窗列表的頂部,如它被部分或全部隱藏,則令其全部可見。同時,該視窗成為當前活動視窗。只有從前台執行緒呼叫時,才生效。

childwindowfrompoint 在規定的座標取得某子視窗的控制代碼(如果有的話),這兒的座標是指相對于父視窗的客戶區座標。

childwindowfrompointex 與childwindowfrompoint相同,功能更強。

clienttoscreen 判斷指定點在視窗客戶區內的螢幕座標。

getclientrect 獲得對視窗客戶區進行表述的乙個矩形(rect)。這是以畫素為單位判斷客戶區大小的乙個簡便的方法。

getwindowplacement 獲得指定視窗的乙個windowplacement結構。該結構說明了視窗的狀態。

getwindowrect 用於獲得乙個矩形(rect)結構,它描述了窗體在螢幕座標系統中的位置。

mapwindowpoints 對某視窗客戶區座標內的乙個或多個點進行轉換,用另一視窗的客戶區座標表示。

movewindow 移動指定視窗的位置,並能改變它的大小。

openicon 將乙個最小化視窗恢復為原始狀態。

screentoclient 針對螢幕內乙個指定的點,用某個特定視窗內的客戶區座標表示它。

setwindowspos 更改視窗的位置和大小,並能修改它在內部視窗列表內的位置(這個列表起著控制視窗先是順序)。

setwindowplacement 在乙個windowplacement結構的基礎上,設定某視窗的特徵。該結構描述了視窗的狀態,以及它在最小化、最大化或正常顯示時的位置。

windowfrompoint 根據螢幕上乙個指定的點,判斷哪個視窗正位於它的下面。

getclassinfo 取得指定視窗的類資訊結構

getclassinfoex 效果類似於getclassinfo,但增加了一些功能

getclasslong,getclassword 用於獲取視窗類資訊

setclasslong,setclassword 用於設定視窗類資訊

getclassname 獲取視窗類名

getdesktopwindow 獲取整個桌面(螢幕)的視窗控制代碼

getwindowlong,getwindowword 獲取與視窗有關的資訊

setwindowlong,setwindowword 設定與視窗有關的資訊

getwindowtext 獲得視窗文字。它的效果大致等價於窗體或控制項的text屬性

getwindowtextlength 獲得視窗文字的長度,用字元數表示。

ischild 判斷某視窗是否為另一視窗的子視窗或從屬視窗。

isiconic 判斷某視窗是否處於最小化狀態

iswindow 判斷指定的控制代碼是否為視窗控制代碼。

iswindowenabled 判斷指定的視窗是否處於活動狀態。

iswindowvisible 判斷某視窗是否可見。

iszoomed 判斷視窗是否處於最大化狀態。

setwindowtext 設定視窗文字。大致等價於窗體或控制項的text屬性。

anypopup 判斷是否存在可見的彈出式視窗

cascadewindows 令視窗在乙個父視窗內層疊顯示

closewindow 對指定的視窗進行最小化處理(如果它是個釘級視窗)對彈出式及子視窗無效

destroywindow 清除指定的視窗以及下屬所有子視窗與包容視窗

drawanimatedrects 獲得視窗開啟或關閉的動畫效果

enablewindow 啟用或遮蔽(禁用)指定視窗

flashwindow 令指定視窗的標題閃爍顯示

getupdaterect 判斷需要更新的那個視窗的位置

getwindowcontexthelpid 取得與視窗關聯在一起的幫助場景

invalidaterect 指定視窗內需要更新的全部或部分客戶區

iswindowunicode 判斷乙個視窗是否期望文字訊息採用unicode格式

lockwindowupdate 允許或禁止描繪指定的視窗

redrawwindow 乙個功能強大的函式,用於控制全部或部分視窗重畫

scrollwindow,scrollwindowex 滾動顯示視窗的全部或部分客戶區

setwindowcontexthelpid 設定與視窗關聯在一起的幫助場景

showownedpopups    隱藏或顯示從屬於指定視窗的所有保容彈出視窗

showwindow              用於設定視窗的狀態,其中包括視窗的隱藏、顯示、最小化、最大化以及啟用等

showwindowasync     類似於showwindow,增加了對其他程序內的視窗進行操作的能力

tilewindows                令視窗在乙個父視窗內平鋪顯示

updatewindow           立即更新視窗內需要更新的任何部分

validaterect                指出全部或部分矩形已經更新,毋需再更新

有興趣的話就乙個乙個試試吧:)

子視窗獲得父視窗得window

我們從乙個介面跳轉至另乙個介面,我們需要知道第乙個介面得使用者是誰,他的使用者放在window.configuration.currentuser 裡面,我們無法開發父頁面,因為父頁面是其他得系統,那麼我們子頁面怎麼獲得人員呢?父頁面狀態 父頁面得繫結值是這樣得,子頁面是我們二次開發得頁面 這裡就遇...

子視窗呼叫父視窗

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

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

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