- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
一位客户要求我解决以下棘手的问题。他们有一个自定义软件,该软件倾向于在没有任何明显原因的情况下“左右”显示消息框。例如,软件本身是一个会计程序,当他们接受客户付款时,消息框可能会连续显示大约 3 或 4 次。每个消息框都播放 Windows 默认声音。不幸的是,这个软件的编程方式,它播放的声音类型是完全错误的。例如,当消息本身只是一条信息时,它可能会显示一个警告消息框并播放警告系统声音。对于使用该软件的员工来说,这一切都很烦人。
我试图联系分发该软件的供应商,但我遇到了死胡同。所以现在我正在寻找缓解此问题的方法。
我最简单的解决方案是建议将扬声器静音,但不幸的是,它们需要有声音才能听到传入的电子邮件,最重要的是,能够稍后播放来自它们的语音邮件。所以我的解决方案是以某种方式为单个进程静音消息框的声音。
根据我的经验,我知道有两个 API 可能会产生这些声音:MessageBeep和一个更老的Beep .
我还找到了this article这解释了如何使用 AppInit_DLL Hook 到系统 API。它工作得很好,除了我需要 Hook 的两个 API 来自 User32.dll 而不是像作者建议的那样来自 kernel32.dll。
还有 this post在问题部分,有点给出了从 User32.dll 连接到 API 的大致步骤,但是当我尝试实现它们时,没有足够的信息(据我所知)。
所以我的问题是,有人知道如何挂接到 User32.dll 模块中的 API 吗?
编辑:附言。忘了说了。此软件安装在 Windows 7 Professional 上,禁用了 UAC——因为它与 UAC 不兼容:)
最佳答案
作为替代方案,您可以为您的应用程序打补丁。查找对 MessageBeep
的调用并用 nop
覆盖它们。
关于c++ - 尝试连接到 MessageBeep 系统 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17053200/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!