日期:2014-05-17  浏览次数:20726 次

求高手写两个与隐藏桌面相关的工具(bat、exe均可)
求高手写两个与隐藏桌面相关的工具(bat、exe均可) 


运行“A工具”达到如下效果: 
一、隐藏桌面上的所有图标; 
二、隐藏任务栏; 
(包括:开始、快速启动、程序、托盘、时间.....任务栏上的所有项目) 
三、全部静音,并最小化所有窗口; 
四、禁止热键“Ctrl+Alt+Del”调用任务管理器。 

运行“B工具”达到如下效果: 
一、立即提示:“请输入解冻密码”; 
二、如果输入密码错误,立即退出; 
三、如果输入密码正确,则—— 
1、显示桌面上的所有图标; 
2、显示任务栏; 
3、恢复热键“Ctrl+Alt+Del”调用任务管理器的功能。 

注: 
1、不论是“A工具”还是“B工具”,均要求一点击就立即运行;运行完毕就立即自动退出。不能出现什么“按任意键继续\退出”之类的界面。 
2、用“记事本”打开“B工具”后,客户能自由设定“解冻密码”。相关说明不要写进“B工具”,请在帖子回复中说明。 
3、如果,“A工具”难以实现“功能3”(全部静音,并最小化所有窗口),那就算了。但是,请在帖子回复中说明原因。 
4、我收集了一些相关的Reg,见附件。 

附件: 
1、禁用任务管理器 
Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system] 
"DisableTaskMgr"=dword:00000001 

2、启用任务管理器 
Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system] 
"DisableTaskMgr"=dword:00000000 

3、隐藏桌面 
Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] 
"NoDesktop"=dword:00000001 


4、显示桌面 
Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] 
"NoDesktop"=dword:00000000 

5、隐藏“任务栏和开始菜单” 
Windows Registry Editor Version 5.00 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer] 
"NoSetTaskbar"=dword:00000001 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Control Panel] 
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Control Panel\Desktop] 

6、显示“任务栏和开始菜单” 
我不知道。 


又发现了一段“隐藏桌面图标和任务栏”的代码,但我不懂,给大家参考。 
-------------------------------------------- 
unit Unit1; 

interface 

uses 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
Dialogs, StdCtrls; 

type 
TForm1 = class(TForm) 
  CheckBox1: TCheckBox; 
  CheckBox2: TCheckBox; 
  procedure FormCreate(Sender: TObject); 
  procedure CheckBox1Click(Sender: TObject); 
  procedure CheckBox2Click(Sender: TObject); 
end; 

var 
Form1: TForm1; 

implementation 

{$R *.dfm} 

{初始化} 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
CheckBox1.Caption := '隐藏桌面图标'; 
CheckBox2.Caption := '隐藏任务栏'; 
end; 

{隐藏或显示桌面图标} 
procedure TForm1.CheckBox1Click(Sender: TObject); 
var 
h: HWND; 
begin 
h := FindWindow('Progman', nil); {Progman 是桌面窗口的类名} 
if TCheckBox(Sender).Checked then 
  ShowWindow(h, SW_HIDE) 
else 
  ShowWindow(h, SW_RESTORE); 
end; 

{隐藏或显示任务栏} 
procedure TForm1.CheckBox2Click(Sender: TObject); 
var 
h: HWND; 
begin 
h := FindWindow('Shell_TrayWnd', nil); {Shell_TrayWnd 是任务栏窗口的类名} 
if TCheckBox(Sender).Checked then 
  ShowWindow(h, SW_HIDE) 
else 
  ShowWindow(h, SW_RESTORE); 
end; 

end. 
-------------------------------------------- 
再补充一下,修改注册表隐藏桌面要重启电脑,不好!