在VC++编程中常需获取控件或窗体句柄,下面总结了几种方法,还希望大家能多多补充。
1、自身窗口句柄可用AfxGetMainWnd获取。
2、系统中其他APP的窗口句柄可用FindWindow获取(用SPY帮一下忙).
HWND hBtnClose;
HWND hWnd=::FindWindow(NULL,"腾讯QQ系统广播");
if(hWnd)
{
hBtnClose=GetDlgItem(hWnd,2);
if(hBtnClose)
PostMessage(hBtnClose,BM_CLICK,NULL,NULL);
}
3、通过指针获取窗口句柄
HWND hwnd = pwnd->m_hwnd; //得到它的HWND,对象或指针都可以
4、当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,
最安全的方法是使用GetSafeHwnd()函数;
5、HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
6、通过控件ID号获取。
CListCtrl* pleftList = (CListCtrl* )GetDlgItem(IDC_LIST1);
pleftList->GetSafeHandl();