【发布时间】:2012-07-15 18:38:30
【问题描述】:
我正在寻找旧版User32.dll 的替代方案,即使用FindWindow() 和SetForegroundWindow() 切换到不同的应用程序。
我确实找到了第一个使用 Process.GetProcessesByName() 的替代方法,但我没有看到相应的方法来切换(设置活动/前台)到该应用程序。
有没有办法在不使用User32.dll 的旧 方式的情况下做到这一点?
感谢您的帮助。
编辑
我接受了@Sorceri 的答案,虽然这不是我想要的答案。
【问题讨论】:
-
使用
SetForegroundWindow有什么问题? Windows 操作系统会跟踪 Win32 子系统中的前台窗口,所以无论如何你都会 P/Invoking touser32.dll。 -
@MichaelGraczyk:或者至少,我们假设安全...... :)
-
在 Windows 桌面上我必须使用
user32.dll在 Windows CE 上我必须使用coredll.dll。所以使用DLLImport总是表明你添加了错误的静态依赖。 -
如果您需要切换到您的应用程序,这将回答您的问题:stackoverflow.com/a/32322918/463464