Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测正在播放的电影(Windows)_Windows_Directx_Directshow - Fatal编程技术网

检测正在播放的电影(Windows)

检测正在播放的电影(Windows),windows,directx,directshow,Windows,Directx,Directshow,看电影是一种完全不同的用户活动 用户既不触摸鼠标也不触摸键盘。但他“积极”地使用电脑。因此,屏幕保护程序不应该运行,索引应该小心执行等等 另一方面,播放视频需要使用直接写入视频内存、DirectShow或其他API。这可能是答案的关键 确定正在播放视频的最简单方法是什么?我不知道有什么方法可以检测是否正在播放视频。我能想到的唯一一件事是迭代系统上运行的所有进程(Process32First、Process32Next),并对照已知媒体播放器列表检查进程名称 我不认为有任何“非常简单”的方法可以实

看电影是一种完全不同的用户活动

用户既不触摸鼠标也不触摸键盘。但他“积极”地使用电脑。因此,屏幕保护程序不应该运行,索引应该小心执行等等

另一方面,播放视频需要使用直接写入视频内存、DirectShow或其他API。这可能是答案的关键


确定正在播放视频的最简单方法是什么?

我不知道有什么方法可以检测是否正在播放视频。我能想到的唯一一件事是迭代系统上运行的所有进程(Process32First、Process32Next),并对照已知媒体播放器列表检查进程名称


我不认为有任何“非常简单”的方法可以实现您想要的功能。

我还可以考虑迭代操作系统中打开的所有文件(如果您有访问权限的话)。然后确定每个打开的文件的mime类型,以检查它是否是电影文件,但这也可能意味着您正在将电影与不同的程序(如编码器或解码器)一起使用。

如果您只是试图阻止屏幕保护程序在电影中启动,使用诸如检查活动窗口标题和每隔几分钟移动鼠标之类的方法如何?相当高级的黑客,但它是有效的

例如,一些媒体播放器会自行禁用屏幕保护程序