HINSTANCE是应用程序实例句柄,
HWND是窗口对象句柄,
HANDLE是任意对象的句柄,
CWnd是MFC中的窗口类。
MSDN里面对于HINSTANCE的解释是"handle to an instance" 就是说是一个instance的句柄。而对instance的解释是"An object for which memory is allocated or which is persistent." 占有内存的一个对象。
对于HWND的解释是“Handle to a window.”而对window的解释是"In a graphical Windows-based application, a window is a rectangular area of the screen where the application displays output and receives input from the user. Therefore, one of the first tasks of a graphical Windows-based application is to create a window. " 就是说是屏幕上的一块区域。
CWnd是MFC的一个类了,它有窗体,几乎所有有图形显示的类都是从它派生的,它自己是从CCmdTarget类派生的,所以它可以接受消息。CCmdTarget类的爸爸可就是CObject了。
msdn对于Handle的解释是"Handle to an object." ,简直是废话。自己怎么解释自己呢。可是好像也只能如此了。我感觉句柄就可以理解为控制对象的一个…………东西吧。
------------------------------------------------------------------------------
ID--HANDLE--HWND三者之间的互相转换
ID--HANDLE--HWND三者之间的互相转换
id->句柄-----------hWnd = ::GetDlgItem(hParentWnd,id);
id->指针-----------CWnd::GetDlgItem();
句柄->id-----------id = GetWindowLong(hWnd,GWL_ID);
句柄->指针--------CWnd *pWnd=CWnd::FromHandle(hWnd);
指针->ID----------id = GetWindowLong(pWnd->GetSafeHwnd,GWL_ID);
GetDlgCtrlID();
指针->句柄--------hWnd=cWnd.GetSafeHandle() or mywnd->m_hWnd;
-------------------------------------------------------------------------------
应用程序的一些HANDLE
// 得到窗口句柄
HWDN parenthwnd = ::FindWindowEx(NULL, parenthwnd, "#32770", NULL);
// 得到此窗口的主线程ID
DWORD dwThreadId = ::GetWindowThreadProcessId(parenthwnd, 0);
// 得到当前进程的句柄
HANDLE hApp = GetModuleHandle(NULL);
相关推荐
知道了一个程序的主窗口hwnd,怎么得到这个进程的hInstance
HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, //...
HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, /...
invoke LoadCursor,hInstance,IDI_HANDLE_ICON mov hCursor,eax invoke LoadAccelerators,hInstance,IDA_ACCELERATOR mov hAccelerator,eax invoke RegisterClassEx, addr wc INVOKE CreateWindowEx,NULL,ADDR...
hmenu=LoadMenu(hInstance,"menu"); hInst=hInstance; hwnd = CreateWindow ( szAppName, TEXT ("图形变换"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, ...
hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage(&msg); ...
void EnableOpenGL(HWND hwnd, HDC*, HGLRC*); void DisableOpenGL(HWND, HDC, HGLRC); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wcex...
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox (NULL, TEXT ("你好,欢迎来到VC之路"), TEXT ("欢迎"), 0) ; ...
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); void RefreshProcs(HWND hWnd); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { g_hInstance...
请看我对这个问题的评论。 提出问题并隐藏导致问题的声明不是很好。无论如何,您只是尝试使用某些不相关的类型,以ghMDIClientArea的名称来判断,这是非常不相关的,出于某种原因,只有您可以知道。...
long WINAPI WndProc(HWND hWnd,UINT iMessage,UINT wParam,LONG lParam); BOOL InitWindowsClass(HINSTANCE hInstance); BOOL InitWindows(HINSTANCE hInstance,int nCmdShow); int WINAPI WinMain(HINSTANCE ...
HWND hwnd=CreateWindow("Weixin2003","北京维新科学技术培训中心",WS_OVERLAPPEDWINDOW,0,0,600,400,NULL,NULL,hInstance,NULL); DWORD dwStyle=GetWindowLong(hwnd, GWL_STYLE); dwStyle&=~(WS_SIZEBOX|WS_...
HWND hwnd, // handle to window UINT uMsg, // message identifier WPARAM wParam, // first message parameter LPARAM lParam // second message parameter ); int WINAPI WinMain( HINSTANCE hInstance, //...
HINSTANCE hInst = LoadLibrary("User32.DLL") if(hInst) { typedef BOOL (WINAPI *MYFUNC)(HWND,COLORREF,BYTE,DWORD) MYFUNC fun = NULL //取得SetLayeredWindowAttributes函数指针 fun=(MYFUNC)...
ATOM MyRegisterClass(HINSTANCE hInstance); BOOL InitInstance(HINSTANCE, int); LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); int ...
HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { WNDCLASS wndcls; wndcls....
vc中的winmain函数的用法与理解 ... HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); #define MAX_LOADSTRING 100 HINSTANCE hInst; // 当前应用程序实例 TCHAR szTitle[MAX_LOADSTRING] = "Hello,World!"; // 窗口的标题栏 TCHAR ...
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) 81.{ 82. HBITMAP bmp; 83. hInst = hInstance; 84. 85. hWnd = CreateWindow("canvas", "浅墨的窗口" , WS_OVERLAPPEDWINDOW, 86. CW_USEDEFAULT, 0, ...
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR szCmdLine, int iCmdShow) { MSG msg; if(!MyRegisterClass(hInstance)) { return FALSE; } if(!InitInstance...