c# - 检测在 Windows 操作系统 (7,8,10) 上播放的任何视频
问题描述
我正在寻找一种方法来检测视频是否在 Windows 操作系统(7、8、10)上播放。
SetThreadExecutionState api 函数对我尝试过不同的播放器(VLC、BS 播放器等)没有帮助,但似乎他们不使用标志 ES_DISPLAY_REQUIRED。
检查禁用的屏幕保护程序不是一个好的解决方案,因为它应该首先被允许并且现在几乎没有人使用屏幕保护程序。
我的应用程序是一个休息计时器,我正在使用 LASTINPUTINFO() 函数,但我想知道用户何时观看视频,因为在此期间没有输入(键盘或鼠标)。
一个肮脏和部分的解决方案是,如果应用程序对屏幕中心的区域进行快照并比较哈希值,但它将是 90% 的准确率。
有更好的想法吗?
解决方案
推荐阅读
- google-apps-script - Google Apps 脚本的 if/elseif 错误
- java - java优化器是否消除除非抛出异常否则结果不被使用的代码
- vba - 使 VBA 自动接受打开的写保护文件
- javascript - 为什么每次点击按钮都会添加?
- android - Android studio cordovaRun 无法使用设备运行
- nlp - 有人可以为 Alexa Skill 的交互模型解释这种行为吗?
- pitest - 当项目没有运行 ptest 时,不会触发 Pitest 突变的质量门
- oracle - 无法使用代码优先方法将我的 MVC Web 应用程序连接到 Oracle 数据库
- pug - 如何将数组作为参数从 pug 传递给 JS?
- spring-boot - 如何在带有自定义参数的 Spring Boot 中使用 Spring Data JPA findAll 方法?