首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python监控用户“行为”的好方法?

用Python监控用户“行为”的好方法?
EN

Stack Overflow用户
提问于 2011-04-07 06:58:48
回答 1查看 558关注 0票数 1

我正在寻找简单的API来获取有关用户在Python中使用其计算机的信息。

什么是相关的:

  • 按键,鼠标事件,PyKeylogger?#我知道这已经被讨论过了。
  • 了解有关正在运行的进程的信息。
  • 更难的是,了解关于有焦点的窗口的信息(它的名称?)#这将是非常有趣的。
  • 更难的是,我能要求系统提供更多的信息吗?(例如,我可以查询显示在特定图形元素(此窗口)中的文本吗?假设这是一个浏览器,我能得到当前的网址吗?)

我希望答案是关于一个Linux系统,但我也感兴趣的Windows替代方案,如果它更容易。我现在不太关心便携性。

我设想在Linux下运行shell脚本并检索输出会有退路,但我想知道这是否是常见的方法,还是某些API已经很好地包装了它。

对于这个问题的含糊不清,我感到很抱歉,但实际上是我试图评估在某些API下我可以轻松获得的信息的范围,并且知道这类工作的“常用”工具是什么。

谢谢你能给我带来的一切信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-18 01:53:32

这个问题与其说是含糊不清的,不如说是相当宽泛的。你要寻找的大部分信息(正如你自己指出的那样)都是分散在各种问题上的。

我已经在这个主题上做了一些研究,是为了我想写的一个生产力跟踪应用程序。以下是我可以给你的一些一般性建议:

  • 用于监视和查询windows上的信息(标题、状态等)您会想看看利伯恩克 (参见:python)。请注意,在创建WnckScreen对象时,它不会从X服务器获取信息,而且看起来屏幕上没有工作区或窗口(这里有更多关于这个的内容)。
  • 在某些情况下,您可以通过在/proc中查询正在运行的进程的条目(您可能需要查看psutil模块)来获得有关正在运行的进程的一些有用信息。然而,你更有可能不会(这取决于你要找的是什么)。
  • 要查询应用程序上非常具体的信息,您必须查看该特定应用程序支持的内容。 在Linux上,应用程序倾向于使用D总线服务公开相关的内部功能。 例如,图腾有D总线服务,它本质上公开了主图腾对象,您可以使用它来监视播放的内容等等。吉阿尼是我使用的文本编辑器(或轻量级IDE),它有大量的功能齐全的D总线插件,可以用来查询当前活动的选项卡等等。 火狐在这方面有点古怪。多年来,人们一直在努力揭露一种D总线服务,但出于某种原因,这些努力似乎从未出现过。最好的选择是查看MozRepl,它“允许您从内部编程Firefox和其他基于Mozilla的应用程序”(它在telnet上公开了一个交互式shell )。
  • 至于查询个人控件/小部件的通用方法。在Linux上,我只知道寄生虫。如果您曾经使用过Firebug,那么它就是这样的,但是对于GTK+应用程序。但是,我怀疑它在您的用例场景中会有多大用处。 您还可以(Ab)使用辅助技术支持(用于屏幕阅读器等)。见这个答案。我自己也没有经验。

如果你有任何问题,请留下评论这个答案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5577162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档