title: winapi entry point without WinMain
body: <p>So going through a source  of a winapi program I found online I noticed there was no WinMain anywhere, I wonder if is possible in anyway to ever make a winapi program work like this, why do you think the original programmer did anything like this, we have the dialog procedure like this :</p>
  
  <pre><code> static INT_PTR CALLBACK mainDialogProc(HWND hwnd, UINT msg, WPARAM wParam,
       LPARAM lParam)
  {
   switch(msg)
    {
      case WM_INITDIALOG:
     {
      //..............   
     }
    }
  }
  </code></pre>
  
  <p>and the main entrypoint was like this instead of void WINAPI WinMain (void);</p>
  
  <pre><code>void WINAPI entryPoint(void)
  {
   //........
  }
  </code></pre>
  
  <p>Is this really possible? it goes against all that I have studied so far...
  I'm really sure I'm missing something...</p>