首页  编辑  

在新的Win2K的外壳(Shell)中如何实现全部最小化(MinimizeAll)功能

Tags: /超级猛料/OS.操作系统/Shell.扩展/   Date Created:

在新的Win2K的外壳(Shell)中如何实现全部最小化(MinimizeAll)功能?

回答:

 我发现如果你导入Microsoft Shell Controls & Automation Type Library,你可以在一个构件中得到这些功能。

 

 在菜单上选择Project..Import Type Library...

 

 选择 Microsoft Shell Controls & Automation (version 1.0).

 

 点击 Install...

 

 这里会有几个构件被安装到ActiveX构件栏。拖一个TShell构件到你的窗体或者DM上,你就可以使用以下代码实现全部最小化的功能:

 

 Shell1.MinimizeAll;

 

 /*********************************************************************

   这里还有许多真正cool的Shell技巧在TShell构件中

 *********************************************************************/

 procedure TForm1.Shell(sMethod: Integer);

 begin

   case sMethod of

   0:

      //最小化桌面上所有的窗口

    begin

      Shell1.MinimizeAll;

      Button1.Tag := Button1.Tag + 1;

    end;

   1:

      //显示运行对话框

    begin

      Shell1.FileRun;

      Button1.Tag := Button1.Tag + 1;

    end;

   2:

      //显示关闭Windows对话框

    begin

      Shell1.ShutdownWindows;

      Button1.Tag := Button1.Tag + 1;

    end;

   3:

      //显示搜索对话框

    begin

      Shell1.FindFiles;

      Button1.Tag := Button1.Tag + 1;

    end;

   4:

      //显示日期/时间对话框

    begin

      Shell1.SetTime;

      Button1.Tag := Button1.Tag + 1;

    end;

   5:

      //显示Internet属性对话框

    begin

      Shell1.ControlPanelItem('INETCPL.cpl');

      Button1.Tag := Button1.Tag + 1;

    end;

   6:

      //让用户选择"程序"的存放路径

    begin

      Shell1.BrowseForFolder(0, 'My Programs', 0, 'C:\Program Files');

      Button1.Tag := Button1.Tag + 1;

    end;

   7:

      //显示工具栏属性对话框

    begin

      Shell1.TrayProperties;

      Button1.Tag := Button1.Tag + 1;

    end;

    8:

      //恢复桌面上所有的窗口(全部最小化的逆操作)

    begin

      Shell1.UndoMinimizeAll;

      Button1.Tag := 0;

    end;

   end; {case}

 end;

 

 procedure TForm1.Button1Click(Sender: TObject);

 begin

   Shell(Button1.Tag);

 end;