我希望得到windows当前正在运行的应用程序得句柄我原来使用EnumWindows或EnumDesktopWindows得到窗口句柄
可是这样的话,一个应用程序中有多个窗口,就会得到这些窗口得句柄,而不是唯一的一个句柄,我就不能直接对这个应用程序进行操作我也用了GetParent进行了判断是否有父窗体,可是有些应用程序还是会得到多个窗体句柄由那位高人,给点意见

解决方案 »

  1.   

    DWORD GetWindowThreadProcessId(
      HWND hWnd,             // handle to window
      LPDWORD lpdwProcessId  // process identifier
    );
      

  2.   

    如果这个应用程序是你创建,你可以用CreateProcess()最后一个参数中有该process的id。如果不是你创建的,可用GetMainWnd得到主窗口的指针,在通过得到CWnd得到它的句柄。
      

  3.   

    应用程序的实例句柄保存在CWinApp m_hInstance 中,可以这么调用AfxGetInstancdHandle获得句柄.
    Example: HANDLE hInstance=AfxGetInstanceHandle()
      

  4.   

    我再说详细点当前正在运行Delphi程序,我要得到这个Delphi程序得句柄,让后对它进行最大最小退出操作,怎么办
    如果用我的方法会得到多个窗口句柄,而得不到唯一的操作句柄