我想捕获WM_DEVICECHANGE的消息,以前用对话框的时候可以用PreTranslateMessage捕获,在OCX里我怎么做呢?
谢谢。

解决方案 »

  1.   

    WM_DEVICECHANGE只发给顶层窗口。你可以自己创建一个隐藏的顶层窗口来接收这个消息。
      

  2.   

    您好,谢谢您的回复,我经常得到您的帮助 :)
    可以说的具体点吗?在OCX里面加一个对话框?
    或者给我一个简单的例子。再次感谢!
      

  3.   

    用CreateWindow或者CWnd::Create就可以……
      

  4.   

    CreateWindow返回的HWND我该怎么做呢?
    我现在做个对话框,然后产生它的一个对象,再Create。在对话框中加入PreTranslateMessage好像还是不可以捕获到系统消息。
      

  5.   

    HWND?保存起来啊。只要创建的窗口过程转发了WM_DEVICECHANGE就可以。
      

  6.   

    你应该把调用程序的窗口句柄传到oCX里。