各位高手:
    我想在程序中控制一个对话框,但是怎样获得该对话框的句柄?请指教,谢谢!
新手

解决方案 »

  1.   

    这个对话框来自何处?在另一个进程中?通过FindWindow查找这个窗口试试。
      

  2.   

    如果能获取该对话框的指针(eg. pWnd),那么使用 pWnd->GetSafeHwnd() 即可获取句柄;
    如果无法获取对话框的指针,(比如在其他进程中),那么先用SPY++查到它的WindowClass,
    然后 FindWindow即可。(关于如何使用SPY++,可以联系我进一步解答)
      

  3.   

    如果得知窗口的标题是“Dialog”
    使用:HWND hnd=CWnd::FindWindow(NULL,"Dialog")->GetSafeHwnd();
    或者:HWND hnd=::FindWindow(NULL,"Dialog"); 均可。
    前者是CWnd的成员函数,后者是PlatFormSDK提供的API。