我ShellExecuteEx一个应用程序后,想拿到这个应用程序的窗口句柄
但是因为这个exe启动比较慢,我要怎样才能拿到它的窗口句柄呢?

解决方案 »

  1.   

    但是因为这个exe启动比较慢,我要怎样才能拿到它的窗口句柄呢?
    -----------------肯定是窗口生成以后啊
    FindWindow:
    HWND FindWindow(LPCSTR lpClassName,LPCSTR lpWindowName );
      

  2.   


    我shell的应用程序我不知道它什么时候弹出来啊
    Findwindow这行代码要写在哪里呢?
    写在ShellExecuteEx(&ShExecInfo)后面?
    还是睡500ms后再findwindow?
      

  3.   


    可以弄个定时器,另开线程去 Findwindow,直到找到之后做你的处理,处理完了之后结束掉线程,关掉定时器
      

  4.   

    ShellExecuteEx + WaitForInputIdle + EnumWindow / FindWindow
      

  5.   

    FindWindow就可以了 简单易用 可以循环一直FindWindow直到找到想要找到的窗口为止
    继续做其他操作