我用vc做了一个分割视窗文档程序,其中调用了OnMouseMove(UINT nFlags, CPoint point)消息函数,程序运行时我判断nFlags参数,用的是if( nFlags & ( MK_LBUTTON|MK_SHIFT ) ),在win2k中nFlags可以正确判断,但在win98中当我鼠标左键按下并移动鼠标时,nFlags并没有相应变化,程序中还有其它的一些问题,大约都是关于消息传输的问题,很多时候必须不停的按esc键才能将消息断断续续的传输,不知那位高人曾经遇到过类似的问题,请予以指点,多谢!
(注:程序在不同操作系统都分别重新编译过)

解决方案 »

  1.   

    你把程序源代码放到win98下编译一把,试试;
    注意:某些函数的win98与win2000的所在头文件不一致
      

  2.   

    调用的库或者dll不一样,建议在98下重新编译,如果不可,应该改动程序
      

  3.   

    多谢nbgyf(小蜜蜂)回复,我的代码都重新编译过,程序中我只用了setsel函数,以及getpane函数,我查了一下msdn头文件都一致,调试的时候发现nFlags标示在win98和win2k中不同,我怀疑win98和win2k消息队列的不同导致结果的差异,
      

  4.   

    是用的rebuild all ;( ,多谢提示