当我们的 USB 设备连接时,我需要启动我的应用程序。
我的第一次尝试是一个后台应用程序,它会注意何时插入 USB 设备。当它注意到我们的设备已连接时,它会调用 ShellExecute() 并启动我们的应用程序。
这在 Windows 8 中运行良好。假设我们在 Windows 8 的“开始”屏幕上。在这种情况下,应用程序在后台启动,而开始屏幕仍然在前面。
我认为这是一个“焦点”问题,因为我实际上希望做的是从“开始”屏幕“窃取焦点”。
http://blogs.msdn.com/b/oldnewthing/archive/2009/02/20/9435239.aspx
由于我的后台应用程序没有焦点(开始屏幕有焦点;此外,我的应用程序没有 UI),它不能将焦点交给我的前台应用程序。
让我说,总的来说,我讨厌窃取焦点。启动用户想要使用的应用程序对我们的用户有很大的帮助。
我该如何解决这个问题?也许答案是以编程方式要求开始屏幕启动我的应用程序,但我看不到这样做的方法:
也许我以错误的方式处理这个问题。建议?