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, //...
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { MessageBox(NULL, TEXT("你好,欢迎来到VC之路"), TEXT("欢迎"), 0); return 0; } ``` 这个例子展示了如何...
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, ...
请看我对这个问题的评论。 提出问题并隐藏导致问题的声明不是很好。无论如何,您只是尝试使用某些不相关的类型,以ghMDIClientArea的名称来判断,这是非常不相关的,出于某种原因,只有您可以知道。...
hInstance, // program instance handle NULL) ; // creation parameters ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage(&msg); ...
DECLARE_HANDLE(HINSTANCE); DECLARE_HANDLE(HLOCAL); DECLARE_HANDLE(HGLOBAL); DECLARE_HANDLE(HDC); DECLARE_HANDLE(HRGN); DECLARE_HANDLE(HWND); DECLARE_HANDLE(HMENU); DECLARE_HANDLE(HACCEL); DECLARE_...
在Windows API中,它是以整数形式表示的,比如HWND(窗口句柄)和HINSTANCE(实例句柄)等。 在Delphi中,获取类名通常使用`Classname`属性,它返回当前对象的类名字符串。例如,对于一个名为`MyObject`的对象,你...
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, LPSTR lpCmdLine, int nCmdShow) { // 创建窗口 HWND hWnd = CreateWindow("STATIC", "初始标题", WS_VISIBLE | WS_OVERLAPPEDWINDOW, CW_USE...
LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); void RefreshProcs(HWND hWnd); int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { g_hInstance...
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_...
CStatic控件是MFC库中的一个重要组成部分,它继承自CWnd类,主要用来在用户界面上展示静态信息,如文本、图标、指针、位图等。由于CStatic控件通常不具备用户交互功能,因此它不处理输入或输出,但通过设置特定属性...
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 ...
HINSTANCE appInstance = (HINSTANCE)GetWindowLong(hwnd, GWL_HINSTANCE); PlaySound(TEXT("IDA_MYMUSIC"), appInstance, SND_RESOURCE | SND_ASYNC | SND_LOOP); // Additional initializing code here ...