HINSTANCE AfxGetInstanceHandle( );
返回值:代表應(yīng)用程序的當(dāng)前實(shí)例的HINSTANCE值。如果是從與MFC的USRDLL版本連接的DLL內(nèi)調(diào)用的,則返回代表DLL的HINSTANCE值.
說明:這個(gè)函數(shù)使你能夠獲得當(dāng)前應(yīng)用程序的實(shí)例句柄。AfxGetInstanceHandle總是返回代表你的可執(zhí)行文件(.EXE)的HINSTANCE值,除非它從與MFC的USRDLL版本連接的DLL內(nèi)調(diào)用的。在這種情況下,它返回的是DLL的HINSTANCE值。
void CMfcNewButtonDlg::OnButton1()
{
// TODO: Add your control notification handler code here
//獲取靜態(tài)窗口的句柄
HWND hStaicGroup = ::GetDlgItem(GetSafeHwnd(),IDC_STATIC);
//在靜態(tài)窗口中創(chuàng)建子窗口
//AfxGetInstanceHandle() 調(diào)用此函數(shù) 獲取當(dāng)前應(yīng)用程序的實(shí)例句柄
CreateWindow(_T("Button"),_T("Button New"),BS_PUSHBUTTON|WS_CHILD|WS_VISIBLE,
0,0,100,100,hStaicGroup,(HMENU)10000, AfxGetInstanceHandle(),NULL);
g_OldProc = (WNDPROC)::SetWindowLong(hStaicGroup,
GWL_WNDPROC,(LONG)MyStaictGroupWndProc);
}