V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
JCZ2MkKb5S8ZX9pq
V2EX  ›  Windows

windows 下是否有追踪窗口焦点变化的软件?

  •  
  •   JCZ2MkKb5S8ZX9pq · 2020-03-31 02:07:05 +08:00 · 2186 次点击
    这是一个创建于 1484 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 最近在软件使用过程中,PC 版微信 /XnView/Sublime Text/等,都发生了间歇性的窗口短暂失去焦点的现象。

    • 比如窗口状态栏变色(切换到失焦状态又恢复),或者微信状态栏图标闪烁(可能是输入法输入中途),等。

    • 一般都是失去焦点后秒回,仅能通过状态栏变色动画来感知。

    • 以前用过一些记录各个软件启动运行时间的 log 软件( WinPrefetchView ),想问问有么有记录窗口焦点变化的软件呢?

    9 条回复    2020-09-26 17:11:53 +08:00
    LU35
        1
    LU35  
       2020-03-31 02:20:15 +08:00 via Android
    可以自己写一个,挺简单的。
    循环获取当前焦点窗口的进程。
    iamwho
        2
    iamwho  
       2020-03-31 02:32:32 +08:00   ❤️ 1
    maplerecall
        3
    maplerecall  
       2020-03-31 03:09:13 +08:00 via Android
    我很早也遇过这问题,写过一个小程序但是现在找不到了,原理就是定时器获取当前活动窗口,一旦出现变化就记一条 log,就几行代码,查下文档应该几分钟就写好了
    geelaw
        4
    geelaw  
       2020-03-31 08:23:49 +08:00   ❤️ 1
    可以用 UI Automation 监听事件,我写了一个例子

    https://gist.github.com/GeeLaw/7c2bc923564fe562425d259caf3f40de
    kokutou
        5
    kokutou  
       2020-03-31 08:38:09 +08:00 via Android
    看看事件查看器,是不是有程序崩溃记录。
    不是这个再去找夺取焦点程序
    JCZ2MkKb5S8ZX9pq
        6
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-03-31 16:19:23 +08:00
    @iamwho 我试了下,这个只能记录我的操作,好像捕捉不到窗口焦点的闪烁。
    可能是因为并非我的操作,或者焦点变化时间过短?
    JCZ2MkKb5S8ZX9pq
        7
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-03-31 16:22:10 +08:00
    @maplerecall 定时的话,因为焦点切换时间很短,会不会遗漏呢?
    JCZ2MkKb5S8ZX9pq
        8
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-03-31 16:23:03 +08:00
    @geelaw 大哥我平时主要是 python,你这个需要啥依赖或者怎么运行啊?我有点不知所措……
    JCZ2MkKb5S8ZX9pq
        9
    JCZ2MkKb5S8ZX9pq  
    OP
       2020-09-26 17:11:53 +08:00
    自答:WindowFocusLogger
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4876 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:57 · PVG 17:57 · LAX 02:57 · JFK 05:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.