我想请教一下,如果调用Create(); ShowWindow(SW_SHOW);两个函数那么整个窗口调用窗口的启动顺序是什么?
我用的是WTL类库,想在窗口显示前阻塞窗口的显示,使得插件在母程序打开多次的情况下,只有一个窗口被打开,而且主程序进程不会被阻塞! HANDLE hMutex = CreateMutex(NULL, FALSE, L"123");
DWORD dw = WaitForSingleObject(hMutex, INFINITE);这两句话应该放在哪里呢?

解决方案 »

  1.   

    当然是先create然后才能调用有效句柄进行showwindow
      

  2.   

    HANDLE hMutex = CreateMutex(NULL, FALSE, L"123"); 
    DWORD dw = WaitForSingleObject(hMutex, INFINITE); 
    可以放到OnInitDialog方法中,当hMutex 存在时就调用关闭窗口的方法
      

  3.   

    放到OnInitDialog里面,发现有的话,就PostQuitMessage(0);
      

  4.   

    谢谢楼上两位的帮助~问题可以解决了
    其实我还有一个问题,想搞清楚窗口的启动过程,我知道窗口是先Create,在ShowWindow的,但是我想知道,Window是如何(启动)的,先调用哪个函数,再调用哪个函数,我想知道初始化函数的调用过程