以编程方式显示桌面

时间:2017-01-11 19:14:35

标签: c# winforms desktop sendkeys

我正在编写Windows窗体应用程序,我需要以编程方式返回桌面。

我尝试了这段代码,但它无效:

using System;
using System.Windows.Forms;

private void ToggleDesktop() {

SendKeys.Send("^({ESC}D)"); //<-- Semantic error, Should simulate: WIN+D

}

是否有可能这样做?

2 个答案:

答案 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();