HINSTANCE 是“句柄型”数据类型。相当于装入到了内存的资源的ID。HINSTANCE对应的资源是instance.句柄实际上是一个 无符号长整数。
    
     int
    
    
     WINAPI WinMain(
    
    
     HINSTANCE
    
    
     hInstance,
    
    
     HINSTANCE
    
    
     hPrevInst,
    
    
     LPSTR
    
    
     lpszCmdLine,
    
    
     int
    
    
     nCmdShow)
    
    
     {
     
    
    
    
    
     //这里放API主程序内容
    
    
    
    
     if
    
    
     (!InitWindowsClass(hInstance))
    
    
    
    
     return
    
    
     FALSE;
    
    
    
    
     if
    
    
     (!InitWindows(hInstance, nCmdShow))
    
    
    
    
     return
    
    
     FALSE;
    
    
    
    
     ShowWindow(hWndMain, nCmdShow);
    
    
    
    
     ....
    
    
     }
    
    
     BOOL
    
    
     InitWindowsClass(
    
    
     HINSTANCE
    
    
     hInstance)
    
    
     {
     
    
    
    
    
     WNDCLAS Swndclass;
    
    
    
    
     ....
    
    
    
    
     wndclass.hIcon = LoadIcon(hInstance,
    
    
     "abcd.ico"
    
    
     );
    
    
    
    
     wndclass.hInstance = hInstance;
    
    
    
    
     .....
    
    
     }
    
    
     //子程序:
    
    
     BOOL
    
    
     InitWindows(HINSTANCEh Instance,
    
    
     int
    
    
     nCmdShow)
    
    
     {
     
    
    
    
    
     HWND
    
    
     hWnd;
    
    
    
    
     ....
    
    
    
    
     hWnd = CreateWindow(
    
    
     "WindowsFill"
    
    
     , str, WS_OVERLAPPEDWINDOW,
    
    
    
    
     CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
    
    
    
    
     NULL, NULL, hInstance, NULL);
    
    
    
    
     ....
    
    
     }
    
    Handle 是代表系统的
    
     内核对象
    
    ,如
    
     文件句柄
    
    ,线程句柄,进程句柄。
   
    HMODULE 是代表
    
     应用程序
    
    载入的模块,win32系统下通常是被载入模块的
    
     线性地址
    
    。
   
HINSTANCE 在win32下与HMODULE是相同的东西,在Win32下还存在主要是因为win16
程序使用HINSTANCE来区别task。
 
