怎么得到我的窗体的HWND,用于SendMessage()函数

解决方案 »

  1.   

    CWnd* AfxGetMainWnd( );这样用就可以
    AfxGetMainWnd( )->SendMessage();
      

  2.   

    我是说用SDK下的SendMessage,不用MFC中的SendMessage,在SDK中SendMessage要求的句柄好像不是HANDLE,是HWND
      

  3.   

    窗口是不是你的进程的? 是你的进程的话, 窗口函数的第一个参数就是.
    如果是别的进程的窗口, 你必须通过其它方式得到窗口句柄, 例如使用WindowFromPoint获得鼠标下的窗口, 或 EnumWindows, EnumChildWindows
    等等
      

  4.   

    下面是WINNT.H中的定义:typedef void *PVOID;
    typedef PVOID HANDLE;#define DECLARE_HANDLE(name) typedef HANDLE name
    DECLARE_HANDLE(HWND);看出来没?HANDLE和HWND实际上都是 void* 指针类型!
      

  5.   

    得到的话强制类型转换一下不就得了~
    HWND hWnd = (HWND)AfxGetMainWnd();
      

  6.   

    AfxGetMainWnd( )->m_hWnd就行了。
      

  7.   

    HWND hWnd = GetSafeHwnd()就行了.