求高手写两个与隐藏桌面相关的工具(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.
--------------------------------------------
再补充一下,修改注册表隐藏桌面要重启电脑,不好!
------解决方案--------------------
先乱贴一个:
- BatchFile code
@echo off:loopclsecho A工具箱echo -------------------------------------------echo 1.隐藏桌面echo.echo 2.隐藏任务栏echo.echo 3.开启静音,并最小化所有窗口echo.echo 4.禁止任务栏管理器echo -------------------------------------------set /p ch=请选择:if "%ch%"=="" goto :loopif "%ch:~0,1%"=="1" goto :func1if "%ch:~0,1%"=="2" goto :func2if "%ch:~0,1%"=="3" goto :func3if "%ch:~0,1%"=="4" goto :func4goto :loop:func1rem 隐藏桌面图标,重启后重效reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDesktop /t reg_dword /d 1 /fgoto :end:func2rem 隐藏任务栏,重启后生效reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoTrayItemsDisplay /t reg_dword /d 1 /fgoto :end:func3rem 开启静音,变相考虑为停止音频服务net stop audiosrv /yrem 最小化所有窗口,变相直接调用最小化桌面call "%appdata%\Microsoft\Internet Explorer\Quick Launch\显示桌面.scf"goto :end:func4 rem 禁止热键Ctrl+Alt+Del,变相考虑禁止任务栏管理器reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\system" /v DisableTaskMgr /t reg_dword /d 1 /fgoto :end:end