Windows编程的兼容性问题



问题出现在软件发布之后,在个别用户的电脑上的win7系统运行我们的软件总是无法运行,运行就直接给出“XXX module 已停止工作”的提示框,但是如果运行选中运行程序右键,在兼容性那里选择“XP (sp3)”后又能正常运行。但是更奇怪的是在我们公司里的win7系统同样运行,无需选择兼容性,直接就能正常运行,而且很多用户上的电脑也是win7系统,同样也是能正常运行。自己的系统上怎么样也重现不了这种问题,后来没办法,只能把每条语句都打印出来,远程有问题的系统上,一步一步跟踪。

后来就发现是这个个API出了问题:

MMRESULT mixerGetLineInfo(
  HMIXEROBJ hmxobj, 
  LPMIXERLINE pmxl, 
  DWORD fdwInfo     
);

后来在微软的官网查了一下,其中的一段:

Requirements

  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Mmsystem.h; include Windows.h.
  Library: Use Winmm.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000/XP.

那就只有把它给注释掉了,反正暂时也没什么用。


另外,在部分的XP系统上,客户端会出现“axwin frame window 系统错误”,后来排查后发现是“huishiCamInterface.dll”里有个api有问题,也是把它注释掉,出问题的客户端也不再弹出这样的错误了:

CNormalAudioHelper::PrepareAudioInputDevList();
CNormalAudioHelper::GetAudioInputDevList();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值