MFC中,如何獲取已知視窗標題的視窗的控制代碼

2021-05-05 07:36:34 字數 3737 閱讀 3370

1樓:匿名使用者

你用spy++這個工具vc上帶的然後取到記事本的視窗名字和類名字hwnd hd=findwindow("視窗名字","類名字");

if(hd)//這裡已經取到

printf("%d\n",hd);

else

printf("error\n");

2樓:四念住

findwindow 查詢指定視窗標題的視窗控制代碼. 得到了他的視窗控制代碼,就可以繼續得到他窗體的子控制元件控制代碼. 然後settext 啥的

3樓:兩瓶可樂

handle m_dlg=::findwindow(null,"**資料管理伺服器");

if (m_dlg!=null)

mfc中怎樣獲取指定視窗的控制代碼

4樓:匿名使用者

控制代碼獲取方法(獲取該視窗的控制代碼後,即可向該視窗類類傳送訊息、處理程式):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中,只知道一個父視窗的控制代碼,怎麼獲得其中某個子視窗的控制代碼

5樓:匿名使用者

用enumchildwindows或者findwindowex吧

如果你知道子視窗的id,那麼可以getdlgitem

6樓:匿名使用者

利用getdlgitem( hdlg, niddlgitem)函式。

hdlg:父視窗控制代碼;

niddlgitem:子控制元件的id

mfc如何通過視窗控制代碼獲取視窗資訊(名稱)。

c++中如何獲取當前視窗控制代碼?

7樓:用著追她

1、啟動vs,新建c# winform專案。

2、在form1中新增4個label控制元件,並佈局如下。3、在form1中新增**,如下。

4、完成之後,除錯執行,結果如下。

注意事項:c++不僅擁有計算機高效執行的實用性特徵,同時還致力於提高大規模程式的程式設計質量與程式設計語言的問題描述能力。

8樓:匿名使用者

1. 如果你不是在那個視窗的上下文操作的話,你必須把那個視窗的控制代碼儲存在一個那個操作可訪問得變數中。

2. 如果你在那個視窗的上下文中操作的話,windowproc第一個引數就是hwnd

9樓:匿名使用者

指定的架構無效。錯誤: clr 型別到 edm 型別的對映不明確

mfc主視窗如何獲得子視窗控制代碼

10樓:影者東昇

getdlgitem()//只有一個引數就是你要獲取的子視窗的id,返回值是一個指向cwnd類的指標.該函式可以根據一個id號獲取一個對應的物件指標,在任何派生自cwnd類的類中都可以使用.如果你非要控制代碼的話.那就

cwnd *pwnd= getdlgitem(/*子視窗id*/);

pwnd->m_hwnd;//得到這個子視窗的控制代碼

11樓:匿名使用者

控制代碼是一個32位的數,是在windos中的一個資源標示符,相當於c裡面的指標.

視窗類就是cwnd,視窗控制代碼就是hwnd。cwnd和hwnd之間互相轉換**如下:

cwnd *pwnd;

hwnd hwnd;

hwnd = c***dlg.pwnd->getsafehwnd(); //cwnd->hwnd

pwnd = cwnd::fromhandle(c***ldlg.hwnd); //hwnd->cwnd

c***dlg 是字視窗例項

mfc 自定義類中如何獲取子視窗控制代碼

12樓:席其英鄺昭

getdlgitem

()//只有一個引數就是你要獲取的子視窗的id,返回值是一個指向cwnd類的指標.該函式可以根據一個id號獲取一個對應的

物件指標

,在任何派生自cwnd類的類中都可以使用.如果你非要控制代碼的話.那就

cwnd

*pwnd=

getdlgitem(/*子視窗id*/);

pwnd->m_hwnd;//得到這個子視窗的控制代碼

怎樣去獲取mfc中Edit輸入的文字

cstring str char ch 10 1 getdlgitem idc edit getwindowtext str 2 getdlgitemtext idc edit,str 3 getdlgitem idc edit sendmessage wm gettext,10,lparam ch...

vb中如何獲得所有的視窗語柄, VB 如何獲取一個視窗中所有文字框的控制代碼

private declare function findwindowex lib user32 alias findwindowexa byval hwnd1 as long,byval hwnd2 as long,byval lpsz1 as string,byval lpsz2 as stri...

2019 標題樣式中的「新增標題」如何顯示在左側「導

設定為標題 一 二 三的樣式或是基於它們的樣式就能實現。在修改標題樣式的選項卡中選擇左下角的 格式 然後選擇 段落 進入段落選項卡中調整大綱級別就可以了。出現自己建立的樣式在左側導航中不顯示的原因是因為大綱級別設定成了 正文 修改其級別即可。office2010 word的標題導航欄不見了,該如何調...