日期:2014-05-19  浏览次数:20835 次

?C#如何编码实现显示桌面,
现在想通过编写代码来实现一个显示桌面的功能,问问各位该如何实现.

------解决方案--------------------
通过访问进程把所有的窗体都最小化
这样行吗?
------解决方案--------------------
调用“显示桌面.scf”这个文件就好了!
------解决方案--------------------
调用Shell扩展对象IShellDispatch4的ToggleDesktop()接口方法显示桌面
  ※ 版本要求:shell32.dll v5.0+(VS.Net中可以使用)
  ※ 预备API知识:COM调用方法
  ※ 是否依赖IsDesktopRaised():是
  ※ 还原方法:再调用一次ToggleDesktop();最大化:×

  关键代码如下:
以下内容为程序代码:
::CoInitialize(0);
IShellDispatch4 *pdisp = NULL;
HRESULT hResult = ::CoCreateInstance(CLSID_Shell, NULL, CLSCTX_ALL, __uuidof(IShellDispatch4), (void**)&pdisp);
if(SUCCEEDED(hResult))
{
  pdisp-> ToggleDesktop(); // switch desktop to raise
  pdisp-> Release();
}
::CoUninitialize();