if(FindWindow(NULL,"CTest")!=NULL)

解决方案 »

  1.   

    应该是
    if(!FindWindow("CTest",NULL)
    {
    }
      

  2.   

    倒,都不对。
    我把"CTest"当作窗口标题了。
    FindWindow("#32770", 窗口标题);
      

  3.   

    FindWindow(....)可以的,详细看msdn
      

  4.   

    to  yu_hl(卖柴火的小男孩):
    FindWindow("#32770", 窗口标题);
    这个"#32770", 是怎么来的?
      

  5.   

    FindWindow("#32770", 窗口标题);
    这个"#32770", 是怎么来的?
    "#32770"就是对话框ID
    是用数字表示的对话框ID
      

  6.   

    单实例的问题.若你不想用FindWindow.可以在DLG初始化时用#define EVENT_NAME ""CTest12345""
    HANDLE hEvent = CreateEvent(NULL,FALSE,FALSE,EVNET_NAME)if(hEvent == NULL && ERROR_ALREADY_EXISTS == GetLastError())
    {
    hEvent = OpenEvent(EVENT_ALL_ACCESS,FALSE,EVNET_NAME);
    if(hEvnet == NULL)
    {
    //error handler
    }}
    在DLG关闭时用CloseHandle(hEvent);
    hEvent = NULL这样如果要检测DLG是否创建./*
    *if return TRUE,至少有一个DLG已经打开了
    */
    BOOL ISDLGLoaded()
    {HANDLE hEvent = CreateEvent(NULL,FALSE,FALSE,EVNET_NAME)if(hEvent != NULL)
    {
    CloseEvent(hEvent);
    }
     return (hEvent==NULL);
    }}