- 爱易网页
- 
                            Windows教程
- 求高手写两个与隐藏桌面相关的工具(bat、exe均可)解决办法 
日期:2014-05-17  浏览次数:20902 次 
                    
                        
                         求高手写两个与隐藏桌面相关的工具(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.  
--------------------------------------------  
再补充一下,修改注册表隐藏桌面要重启电脑,不好!