控制代碼獲取方法(獲取該視窗的控制代碼後,即可向該視窗類類傳送訊息、處理程式):
例如:::postmessage("控制代碼", wm_user_drawviewpic_eds, 0, 0);
0。獲取所在類視窗的控制代碼:
this->m_hwnd
1。主視窗的控制代碼:
無論在主視窗類內,還是子視窗類內,獲取主視窗控制代碼的方法:
afxgetmainwnd()->m_hwnd,
如:::sendmessage(afxgetmainwnd()->m_hwnd , wm_my_dosome , 0 ,(lparam)i);
在視窗類中
this->m_hwnd
或者this->getsafehwnd()
2。子視窗控制代碼:用findwindow,(只要知道子視窗的名字即可)如:
::findwindow(null,windowsname)
返回找到的視窗的控制代碼
尋找當前視窗是否在執行windowname的程式,該名字為視窗名字,如:
cwnd* pwnd=findwindow(null,_t("清芝--支票機"));//
getsafehwnd
函式功能:獲取某個視窗物件(cwnd的派生物件)指標的控制代碼(hwnd)時,最安全的方法是使用
getsafehwnd()函式。
通過下面的例子來看其理由:
cwnd *pwnd = findwindow(「explorewclass」,null); //希望找到資源管理器
hwnd hwnd = pwnd->m_hwnd; //得到它的hwnd
這樣的**當開始得到的pwnd為空的時候就會出現乙個「general protection error」,並關閉應用
程式,因為一般不能對乙個null指標訪問其成員,如果用下面的**:
cwnd *pwnd = findwindow(「explorewclass」,null); //希望找到資源管理器
hwnd hwnd = pwnd->getsafehwnd(); //得到它的hwnd
就不會出現問題,因為儘管當pwnd是null時,getsafehwnd仍然可以用,只是返回null
源文件
3。獲取視窗中 控制項的控制代碼,用 getdlgitem
語法為:getdlgitem(idc_combo3)->m_hwnd :引數為 該控制項的id,返回值為:cwnd* 型別,但它是cwnd類
內的函式,因此要先獲取控制項所在視窗的指標,如:
cstring str(_t("dd"));
::sendmessage(afxgetmainwnd()->getdlgitem(idc_combo3)->m_hwnd, wm_settext , 0 , (lparam)
str.getbuffer(0));
從控制代碼獲得指標,用 fromhandle
語法:cwnd* pwnd = cwnd::fromhandle(hwnd);
獲取視窗控制代碼(全集) vc&mfc
獲得視窗控制代碼:
this->m_hwnd
hwnd getforegroundwindow(void);
getsafehwnd 取你程式所在視窗類的控制代碼
getactivewindow 取當前活動視窗控制代碼
afxgetmainwnd 取主視窗控制代碼
getforegroundwindow 取前台視窗控制代碼
findwindow
enumwindow
MFC獲取視窗控制代碼的方法
afxgetmainwnd afxgetmainwnd獲取自身視窗控制代碼 hwnd hwnd afxgetmainwnd m hwnd gettopwindow 函式功能 該函式檢查與特定父視窗相聯的子視窗z序 z序 垂直螢幕的方向,即疊放次序 並返回在z序頂部的子視窗的控制代碼。函式原型 hwn...
c 獲取視窗控制代碼的方法
findwindow 函式原型 hwnd findwindow lpcstr lpclassname,lpcstr lpwindowname findwindow這個函式檢索處理頂級視窗的類名和視窗名稱匹配指定的字串。這個函式不搜尋子視窗。lpclassname引數指向類名,lpwindowname...
獲取視窗控制代碼
在windows中,控制代碼是乙個系統內部資料結構的引用。例如當你操作乙個視窗,或說是乙個delphi窗體時,系統會給你乙個該視窗的控制代碼,系統會通知你 你正在操作142號視窗,就此你的應用程式就能要求系統對 142號視窗進行操作 移動視窗 改變視窗大小 把視窗最小化等等。實際上許多windows...