控制代碼獲取方法(獲取該視窗的控制代碼後,即可向該視窗類類傳送訊息、處理程式):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
源文件
控制代碼 控制代碼工具 VC 獲取控制代碼
控制代碼 handle 是乙個用來標識物件的識別符號。windows之所以要設立控制代碼,根本上源於記憶體管理機制的問題,即虛擬位址。簡而言之資料的位址需要變動,變動以後就需要有人來記錄 管理變動,因此系統用控制代碼來記載資料位址的變更。在程式設計中,控制代碼是一種特殊的智慧型指標,當乙個應用程式要...
獲取控制代碼獲取指標
1.獲取應用程式指標 2.獲取主框架指標 或者cmainframe pmainframe cmainframe afxgetmainwnd 3.獲取選單指標 cmenu pmenu afxgetmainwnd getmenu 4.獲取工具欄狀態列指標 1 主框架中可以直接使用m wnd m wnds...
C 獲取控制代碼
獲取視窗標題 dllimport user32 setlasterror true public static extern int getwindowtext intptr hwnd,視窗控制代碼 stringbuilder lpstring,標題 int nmaxcount 最大值 獲取類的名字...