SetWindowLong 修改他的消息处理函数

解决方案 »

  1.   

    CFileDialog的窗口过程是内部窗口过程,只会发送非常有限的消息给父窗口,所以很多消息过程是不会有反应的,如果想处理其窗口消息,应该使用SetWindowLong截取其窗口过程,在你自己的窗口过程中处理特定的消息,然后将不处理的消息传回给原来的窗口过程
      

  2.   

    谢谢楼上两位的回复!
    VS2005之前XP、WIN7都没这问题,x64项目也可以用。VS2008SP1 x64项目发现这事儿,我再试试 win32 和别的 VS 版本。不行就自己拦截消息了。
      

  3.   

    果然就是从 VS2008 开始改的,看来不及时跟进新版本的VS就是要落后哦。
    64位用SetWindowLongPtr获取消息处理函数,谁有类似的例子给奉献一个呗,先谢过!