通过在我的程序中向窗口添加焦点更改事件处理程序,使用:
Automation.AddAutomationFocusChangedEventHandler(myHandler)
外部程序无法正常运行。当我的程序正在运行并正在监听事件时,坦克世界的启动器无法启动坦克世界游戏客户端。这是有问题的,因为我的程序应该在多台计算机上 24/7 运行,当我知道它会干扰一个程序时,它很可能会干扰其他程序。
感兴趣的代码:
public static void SetWindowFocusChangeSubscriber()
{
AutomationFocusChangedEventHandler focusHandler = new AutomationFocusChangedEventHandler(OnFocusChange);
Automation.AddAutomationFocusChangedEventHandler(focusHandler);
}
private static void OnFocusChange(object src, AutomationFocusChangedEventArgs e)
{
return;
}
那么有人知道这是为什么吗?以及如何解决?我是否需要避免使用自动化库?
编辑:哦,顺便说一句,我的程序与坦克世界没有任何关系,也不想与之互动。它只是想检测活动窗口何时发生变化。