一位客户要求我解决以下棘手的问题。他们有一个自定义软件,该软件倾向于在没有任何明显原因的情况下“左右”显示消息框。例如,软件本身是一个会计程序,当他们接受客户付款时,消息框可能会连续显示大约3或4次。每个消息框都播放Windows默认声音。不幸的是,这个软件的编程方式,它播放的声音类型是完全错误的。例如,当消息本身只是一条信息时,它可能会显示一个警告消息框并播放警告系统声音。对于使用该软件的员工来说,这一切都很烦人。我试图联系分发该软件的供应商,但我遇到了死胡同。所以现在我正在寻找缓解此问题的方法。我最简单的解决方案是建议将扬声器静音,但不幸的是,它们需要有声音才能听到传入的电子邮件,
我正在尝试使用MessageBeep播放声音的API,但没有播放声音。MessageBeep(MB_ICONINFORMATION);MessageBeep(MB_ICONASTERISK);MessageBeep(MB_ICONEXCLAMATION);MessageBeep(MB_ICONERROR);MessageBeep(MB_ICONHAND);MessageBeep(MB_ICONINFORMATION);MessageBeep(MB_ICONQUESTION);MessageBeep(MB_ICONSTOP);MessageBeep(MB_ICONWARNING);Mes
简单的问题,如果用户按下Alt+Whatever并且没有与之关联的热键,通常程序会产生MessageBeep。我可以调用哪些API函数来避免这种情况?处理WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN和WM_SYSKEYUP全部返回0;在我的主WndProc上不起作用。 最佳答案 WM_MENUCHAR应该是您要查找的内容。MSDN搜索是您的friend(>消息提示音快捷方式消息提示音加速器http://msdn.microsoft.com/en-us/library/ms646349(VS.85).aspx编辑
RichEditcontrol有这个非常烦人的功能。每当用户试图将光标移过它的“终点”时,它就会发出哔哔声。例如,您可以使用WordPad对其进行测试这也实现了RICHEDIT。打开它,输入一些文字,然后点击Home。key。如果光标不在行首:点击Home键将它移到那里,但随后点击Home再次按键会发出此蜂鸣声。乍一看好像是重写了WM_KEYDOWN和WM_KEYUP消息并阻止RICHEDIT可以发出哔哔声的情况是一个解决方案……直到我真正开始实现它。不幸的是,它并不像听起来那么简单,因为在很多情况下该控件都会发出哔哔声!因此,我的击键阻止代码确实膨胀到300多行,而且我仍然看到有一些