如何检测Windows计算机上正在播放音频的进程?换句话说,我如何枚举正在使用我的声卡的进程?
发布于 2009-06-02 16:49:28
在Windows 7中,有一些API允许您枚举机器上的所有音频会话,您可以使用这些API枚举当前(或最近)播放音频的进程。
对此有一些严重的警告。例如,您无法发现使用ASIO等第三方音频堆栈的应用程序,也无法检测渲染压缩音频的应用程序(使用独占模式)。但是对于一个重要的(98%?)在这些应用程序中,您可以使用IAudioSessionManager2接口来检索会话枚举器,它将允许您枚举正在以共享模式呈现(或最近呈现)音频的应用程序。
不幸的是,该功能仅适用于Windows7。
发布于 2009-06-02 13:41:13
从sysinternals (Microsoft)下载进程资源管理器。安装后,在界面中单击“查找”“查找句柄或DLL”
在Vista中,我加入了audioses.dll (音频会话)和audioeng.dll (音频引擎)。
任何一个都会弹出一个可以/确实可以使用声卡的应用程序列表。
谢谢,-Mathew
发布于 2009-06-03 10:20:17
您不需要进程资源管理器。
只需从ring3 (旧的常见问题解答,谷歌群组,Win32)中枚举句柄表
https://stackoverflow.com/questions/938955
复制相似问题