我想自动化服务myshows.ru。现在,人们必须手动输入有关他们观看过的电影的信息。
我想用c ++编写一个程序,它可以获取视频播放器中的电影标题,并将它们存储到服务帐户中。
我可以使用哪些库来完成这项工作?
答案 0 :(得分:2)
使用与一些正则表达式库配对的普通Winapi函数。您需要做的是枚举系统中的窗口(获取HWND
- 句柄),然后取出标题并将其存储在std::strings
中。下一步是检查您的标题是否与某些正则表达式匹配(例如,这可能是boost::regex
或boost::xpressive
) - 因此您必须为每个可能的多媒体播放器标题维护一个正则表达式数据库。
有一种更复杂的方法更难编码,但效率更高。广泛使用的播放器数量不是很大,因此您可以使用Winapi调用枚举系统中的进程并仅使用播放器(例如mpc.exe
或winamp.exe
)。然后,您可以轻松地检索活动的应用程序窗口(从它的进程句柄),然后再调用您的正则表达式搜索。这实际上要好得多,因为您只需要在数据库中存储process name - caption regex
值。
之后(当你解析出当前打开的文件的名称时),这完全取决于你 - 我的意思是将它存储在服务器等等。