大悟还俗

邮箱 key_ok@qq.com 我的收集 http://pan.baidu.com/share/home?uk=1177427271
posts - 236, comments - 8, trackbacks - 0, articles - 0
  新随笔  :: 联系 :: 订阅 订阅  :: 管理

Delphi代码模拟“显示桌面”的功能

Posted on 2013-10-09 17:33 大悟还俗 阅读(...) 评论(...) 编辑 收藏

今天有人问我:“用shell打开文件(显示桌面.scf)的方式还是用模拟键盘(Win+D)显示桌面”
这应该有更好的方法,就搜了搜,关键字定位“ToggleDesktop”
因为显示桌面.scf的内容是:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop

找到了MSDN http://msdn.microsoft.com/en-us/library/bb774124(VS.85).aspx
给出的是VB脚本和Javascript脚本,这个容易翻译:
JavaScript

  1. <script language="JScript">
  2.     function fnIShellDispatch4ToggleDesktopJ()
  3.     {
  4.         var objShell = new ActiveXObject("Shell.Application");
  5.         
  6.         objShell.ToggleDesktop();
  7.     }
  8. </script>
    1. uses ComObj;
    2. procedure TForm1.Button1Click(Sender: TObject);
    3. var
    4.   vShellApplication: OleVariant;
    5. begin
    6.   vShellApplication := CreateOleObject('Shell.Application');
    7.   vShellApplication.ToggleDesktop;
    8. end;