我想编写一个始终知道当前前景窗口的进程。
我知道我可以在循环中使用 GetForegroundWindow,但我相信最好不要一直检查 GetForegroundWindow。
所以我正在寻找的是类似于事件 OnForegroundWindowChanged 或其他方法的东西。
我知道我可以用 C++ 为每个进程编写一个钩子并从那里发送事件,但我更喜欢在 c# 中完成这一切,而不是向所有正在运行的进程注入 dll(它听起来不太稳定:)
谢谢,
暗里
我想编写一个始终知道当前前景窗口的进程。
我知道我可以在循环中使用 GetForegroundWindow,但我相信最好不要一直检查 GetForegroundWindow。
所以我正在寻找的是类似于事件 OnForegroundWindowChanged 或其他方法的东西。
我知道我可以用 C++ 为每个进程编写一个钩子并从那里发送事件,但我更喜欢在 c# 中完成这一切,而不是向所有正在运行的进程注入 dll(它听起来不太稳定:)
谢谢,
暗里
我认为您想要的是处理 UIAutomationEvents?
诚然,这是 Windows 可访问性功能的一部分,我不确定它是否始终开启或需要启用,但Try here for pointers。