比如我们可以通用(句柄)GetWindowThreadProcessId获取PID,那么怎样通用PID获取句柄,我的目的是获取到标题和类就行了。麻烦大家说要怎样。最好有源码,如果没有就大约说说也行。

解决方案 »

  1.   

    你可以用
    BOOL EnumWindows(
        WNDENUMPROC lpEnumFunc,
        LPARAM lParam
    );
    列出所有的系统中的窗口,
    然后用DWORD GetWindowThreadProcessId(
        HWND hWnd,
        LPDWORD lpdwProcessId
    );
    查看是否是你的当前的进程中窗体.
    这样列出的窗体就是所有你的进程中的窗体了
      

  2.   

    谢谢!
    嗯。利用EnumWindows的确是可以办到,但是怎样知道那个才是父窗口?是第一个句柄就是吗?我试了一下EnumWindows的效率不算太高。还有更好的方法吗?
      

  3.   

    我查过很多API都没有像GetWindowThreadProcessId那么方便直接就可以通过HWND知道PID了。但是还有什么方法可以方便一点通过PID知道HWND?
      

  4.   

    好象没有其他方法:http://www.vckbase.com/document/viewdoc/?id=404
      

  5.   

    是不是有一个API可以知道是不是父窗口的?我去找找看看。。
      

  6.   

    getparent=0 那么这个句柄就是父窗口
      

  7.   

    去这里能找到满意的答案http://www.mayihong.com/blogview.asp?logID=145