我正在编写Windows窗体应用程序,我需要以编程方式返回桌面。
我尝试了这段代码,但它无效:
using System;
using System.Windows.Forms;
private void ToggleDesktop() {
SendKeys.Send("^({ESC}D)"); //<-- Semantic error, Should simulate: WIN+D
}
是否有可能这样做?
答案 0 :(得分:7)
您可以使用Shell32.dll
窗口程序集来执行此操作。
只需添加对C:\Windows\System32\Shell32.dll
的引用,然后转到参考属性并将False
放在Embed Interop Types
附近(因为您将要使用的课程为{{1}这是互操作。
现在,它就像
一样简单ShellClass
答案 1 :(得分:1)
也可以(在Windows 8.1下测试):
将COM引用添加到“Microsoft Shell控件和自动化”
<子>(C:\ Windows \ System32下\ SHELL32.DLL)子>
然后:
using Shell32;
Shell shellObject = new Shell();
shellObject.ToggleDesktop(); // WinXp: ((Shell32.IShellDispatch4)shellObject).ToggleDesktop();