上一篇我给出了第一个windows程序。
接下来分解一下这个windows程序。看windows窗口的创建过程。
第一个函数WINMAIN
WinMain函数作为windows系统最初入口
其语法结构
Syntax
int WinMain(      

    HINSTANCE hInstance,
    HINSTANCE hPrevInstance,     LPSTR lpCmdLine,     int nCmdShow);
hInstance
是当前应用程序的句柄
     lpCmdLine
          指向NUll结束的字符串的远指针,该字符串为命令行参数,通过
      程序管理器或者通过调用winExec运行程序是时,指定lpCmdLine     值
    
     nCmdShow
 说明窗口显示的形态
int APIENTRY _tWinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
 UNREFERENCED_PARAMETER(hPrevInstance);
 UNREFERENCED_PARAMETER(lpCmdLine);
  // TODO: 在此放置代码。
 MSG msg;
 HACCEL hAccelTable;
 // 初始化全局字符串
 LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
 LoadString(hInstance, IDC_HELLOWORLD, szWindowClass, MAX_LOADSTRING);
 MyRegisterClass(hInstance);
 // 执行应用程序初始化:
 if (!InitInstance (hInstance, nCmdShow))
 {
  return FALSE;
 }
 hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HELLOWORLD));
 // 主消息循环:
 while (GetMessage(&msg, NULL, 0, 0))
 {
  if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }
 return (int) msg.wParam;
}