重新开帖问了
我的程序里面用CreateProcess创建了其他进程
现在用EnumWindows枚举,发现枚举不到所创建进程的窗口句柄
所创建进程的进程ID已知,有没有其他什么方法去获得窗口句柄。

解决方案 »

  1.   

    发现如果用WinExec可以枚举到窗体,但是用WinExec不好获得打开进程的IDCreateProcess是这么写的
    CreateProcess(nil,PChar(s),nil,nil,False,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,nil,nil,StartupInfo,ProcInfo);问题该怎么解决啊
      

  2.   

    今天我MSDN上不去,不好查只好麻烦大家了
      

  3.   

    試下用
    BOOL EnumProcesses(
      DWORD* lpidProcess,
      DWORD cb,
      DWORD* cbNeeded
    );EnumWindows 是 枚举 用 createWindow 創建的 Form, 
    你用 CreateProcess 可能并沒有創建出Form出來
      

  4.   

    我不需要枚举进程,我要处理的窗体的进程ID已知
    我用枚举窗体,然后GetWindowThreadProcessID获取窗体的进程ID和己知的比较
    相同则说明是该进程中打开的窗体,就对该窗体进行操作
      

  5.   

    我估计枚举不到可能是CreateProcess调用参数的问题,用WinExec就没有
    但是要怎么改呢