在mainframe類中得到view的指標:
首先要在mainframe的標頭檔案中包涵doc類和view類的標頭檔案,doc類要比view類先包含,因為可能view類中例項了doc的物件和呼叫了doc的函式。
然後**為:
cfamewnd* pactiveframe=getactiveframe();
cview* pview=pactiveframe->getactiveview();
也可為:
cview* pview=pactiveframe->getactiveview();
的獲取工具條的指標
在預設狀態下,有乙個預設的工具條afx_idw_*******,我們可以根據相應的id去獲取工具條指標,方法如下:
c******** p*******=(c********)afxgetmainwnd()->getdescendantwindow(afx_idw_*******);
是不是很簡單?
獲取狀態條的指標
在預設狀態下,有乙個預設的狀態條afx_idw_status_bar,我們自然也可以根據相應的id去獲取狀態條指標,方法如下:
cstatusbar* p*******=(cstatusbar*)afxgetmainwnd()->getdescendantwindow(afx_idw_status_bar);
是不是同樣很簡單?
獲取控制項的指標
這裡有兩種方法。
一、呼叫cwnd: : getdlgitem,獲取乙個cwnd*指標呼叫成員函式。例如,我們想獲取cbutton指標,方法如下:
cbutton* pbutton=(cbutton*) getdlgitem (idc_mybutton);
二、可以使用classwizard將控制項和成員變數聯絡起來。在classwizard中簡單地選擇member variables標籤,然後選擇add variable …按鈕。如果在對話資源編輯器中,按下ctrl鍵並雙擊控制項即可轉到add member variable對話。
在文件類中呼叫檢視類指標
我們可以利用文件類的成員函式getfirstview()和getnextview()遍歷檢視。
在檢視類中呼叫文件類
其實,在檢視類中有乙個現成的成員函式供我們使用,那就是:getdocument();利用它我們可以很容易的得到文件類指標,我們先看一下getdocument()函式的實現:
ccolorbuttondoc* ccolorbuttonview::getdocument()
這裡實際上是將m_pdocument強制轉換成ccolorbuttondoc*,也就是我們想要的。
在框架類中呼叫文件類、檢視類
這裡我們可以利用getactive***xx()去掉用當前啟用的文件和檢視:
cmydoc* pdoc=(cmydoc*)getactivedocument();
cmyview* pview=(cmyview*)getactiveview();
獲得應用程式指標
這個很簡單,一句話搞定:
獲得主框架指標
在類cwinthread裡面有乙個公有的成員變數:cwnd* m_pmainwnd; 它存在的主要目的就是提供我們獲得cwnd指標,我們可以利用它來達到我們的目的:
通過滑鼠獲得子視窗指標
這裡我們要用到乙個不太常用的函式:childwindowfrompoint。他的原型如下:
cwnd* childwindowfrompoint(point point) const;
cwnd* childwindowfrompoint(point point,uint nflags) const;
這個函式用於確定包含指定點的子視窗,如果指定點在客戶區之外,函式返回null;如果指定點在客戶區內,但是不屬於任何乙個子視窗,函式返回該cwnd的指標;如果有多個子視窗包含指定點,則返回第乙個子視窗的指標。不過,這裡還要注意的是:該函式返回的是乙個偽視窗指標,不能將它儲存起來供以後使用。
對於第二個引數nflags有幾個含義:
cwp_all
file://不
忽略任何子視窗
cwp_skipnivsible
file://忽
略不可見子視窗
cwp_skipdisabled
file://忽
略禁止的子視窗
cwp_skipransparent file://忽
略透明子視窗
android獲取其他應用資訊
adb shell dumpsys activity activities 先啟動需要的查詢的apk,再敲入以上命令,在stack 1下查詢cmp 其後的內容為包名 mainactivity 注 dumpsys activity可以檢視系統的所有的活動,包括服務 廣播等,加上activities則只...
VC獲取其他程序ListCtrl內容
vc讀寫其他程序listctrl資料到本程序的例項,下面用windows任務管理器來做測試 1 捕獲視窗控制代碼 用spy 可以看到如下父子視窗關係 新增listctrl,設定style report 關聯控制項變數m listctrl,再新增乙個按鈕,如下圖 4 程式不足 a 在獲取任務管理器 程...
VC獲取其他程序ListCtrl內容
vc讀寫其他程序listctrl資料到本程序的例項,下面用windows任務管理器來做測試 1 捕獲視窗控制代碼 用spy 可以看到如下父子視窗關係 新增listctrl,設定style report 關聯控制項變數m listctrl,再新增乙個按鈕,如下圖 2 相關 view plain cop...