看电影是完全不同的用户活动。
用户既不触摸鼠标也不触摸键盘。然而,他“积极地”使用电脑。因此,不应运行屏幕保护程序,应小心执行索引等。
另一方面,播放视频需要使用直接写入视频内存、DirectShow 或其他一些 API。这可能是答案的关键。
确定正在播放视频的最简单方法是什么?
看电影是完全不同的用户活动。
用户既不触摸鼠标也不触摸键盘。然而,他“积极地”使用电脑。因此,不应运行屏幕保护程序,应小心执行索引等。
另一方面,播放视频需要使用直接写入视频内存、DirectShow 或其他一些 API。这可能是答案的关键。
确定正在播放视频的最简单方法是什么?
如果您只是想阻止屏幕保护程序在看电影时出现,那么使用AutoHotkey之类的东西检查活动窗口标题并每隔几分钟移动一次鼠标怎么样?相当高级的hack,但它有效。
一些媒体播放器会自行禁止屏幕保护程序:例如VLC 。
我不知道您可以检测是否有视频正在播放。我唯一能想到的就是遍历系统上运行的所有进程(Process32First、Process32Next)并根据已知媒体播放器列表检查进程名称。
我认为没有任何“简单的”方法可以实现您想要的。
我还可以考虑遍历在操作系统中打开的所有文件(如果您可以访问它)。然后确定每个打开文件的 MIME 类型以检查它是否是电影文件,但这也可能意味着您正在使用不同的程序(如编码器或解码器)来使用电影。