📄 unit1.~pas
字号:
reg.free;//释放
end;
procedure TForm1.FlatButton15Click(Sender: TObject);
var
i,ws:integer;
begin
ly:='';
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\explorer',true);
for i:=1 to 7 do
case ks.Checked[i-1] of
true:
begin
if i=1 then
begin
reg.Writeinteger('nofavoritesmenu',1);
ly:='收藏夹';
end;
if i=2 then
begin
reg.Writeinteger('norecentdocsmenu',1);
ly:=ly+' '+'文档';
end;
if i=3 then
begin
reg.Writeinteger('nochangestartmenu',1);
reg.Writeinteger('nofolderoptions',1);
reg.Writeinteger('nosetactivedesktop',1);
reg.Writeinteger('nosettaskbar',1);
reg.Writeinteger('nowindowsupdate',1);
reg.Writeinteger('nosetfolders',1);
ly:=ly+' '+'设置';
end;
if i=4 then
begin
reg.Writeinteger('nofind',1);
ly:=ly+' '+'查找';
end;
if i=5 then
begin
reg.Writeinteger('norun',1);
ly:=ly+' '+'运行';
end;
if i=6 then
begin
reg.Writeinteger('nologoff',1);
ly:=ly+' '+'注销';
end;
if i=7 then
begin
reg.Writeinteger('noclose',1);
ly:=ly+' '+'关闭系统';
end;
end;
false:
begin
if i=1 then
reg.Writeinteger('nofavoritesmenu',0);
if i=2 then
reg.Writeinteger('norecentdocsmenu',0);
if i=3 then
begin
reg.Writeinteger('nochangestartmenu',0);
reg.Writeinteger('nofolderoptions',0);
reg.Writeinteger('nosetactivedesktop',0);
reg.Writeinteger('nosettaskbar',0);
reg.Writeinteger('nowindowsupdate',0);
reg.Writeinteger('nosetfolders',0);
end;
if i=4 then
reg.Writeinteger('nofind',0);
if i=5 then
reg.Writeinteger('norun',0);
if i=6 then
reg.Writeinteger('nologoff',0);
if i=7 then
reg.Writeinteger('noclose',0);
end;
end;
reg.Writestring('timp2',ly);
if ly='' then label11.Caption:='没有隐藏项目'
else
label11.Caption:=ly+'已经隐藏';
reg.closekey;//关闭该键
reg.free;//释放
end;
procedure TForm1.FlatButton14Click(Sender: TObject);
begin
flatpanel4.Visible:=false;
flatpanel2.Visible:=false;
flatpanel3.Visible:=false;
flatpanel5.Visible:=true;
flatpanel6.Visible:=false;
flatpanel11.Visible:=false;
end;
procedure TForm1.FlatButton18Click(Sender: TObject);
var
memorystatus:tmemorystatus;
a:real;
b:real;
c:real;
d:real;
e:real;
f:real;
begin
flatpanel7.Visible:=true;
flatpanel8.Visible:=false;
flatpanel9.Visible:=false;
flatpanel10.Visible:=false;
image9.Visible:=true;
image6.Visible:=false;
image7.Visible:=false;
image8.Visible:=false;
memorystatus.dwLength:=sizeof(memorystatus);
globalmemorystatus(memorystatus);
with memorystatus do
begin
a:=dwtotalphys/1000000;
b:=dwavailphys/1000000;
c:=dwtotalpagefile/1000000;
d:=dwavailpagefile/1000000;
e:=dwtotalvirtual/1000000;
f:=dwavailvirtual/1000000;
label18.Caption:=inttostr(dwlength)+'位“内存状态”记录';
label19.caption:='系统物理内存使用百分比为'+inttostr(dwmemoryload)+'%';
label20.Caption:='总的物理内存为'+floattostr(a)+'MB';
label21.Caption:='可用的物理内存'+floattostr(b)+'MB';
label22.Caption:='交换区大小为'+floattostr(c)+'MB';
label23.Caption:='未使用的交换区大小为'+floattostr(d)+'MB';
label24.Caption:='系统虚拟内存大小'+floattostr(e)+'MB';
label25.Caption:='还可使用的虚拟内存大小'+floattostr(f)+'MB';
end;
end;
procedure TForm1.Timer4Timer(Sender: TObject);
var
memorystatus:tmemorystatus;
begin
with memorystatus do
begin
memorystatus.dwLength:=sizeof(memorystatus);
globalmemorystatus(memorystatus);
flatgauge2.maxvalue:=dwtotalphys;
flatgauge2.progress:=dwavailphys;
end;
end;
procedure TForm1.Timer5Timer(Sender: TObject);
var
memorystatus:tmemorystatus;
begin
with memorystatus do
begin
memorystatus.dwLength:=sizeof(memorystatus);
globalmemorystatus(memorystatus);
flatgauge1.maxvalue:=100;
flatgauge1.Progress:=dwmemoryload;
end;
end;
procedure TForm1.Timer6Timer(Sender: TObject);
var
memorystatus:tmemorystatus;
begin
with memorystatus do
begin
memorystatus.dwLength:=sizeof(memorystatus);
globalmemorystatus(memorystatus);
flatgauge3.maxvalue:=dwtotalpagefile;
flatgauge3.Progress:=dwavailpagefile;
end;
end;
procedure TForm1.Timer7Timer(Sender: TObject);
var
memorystatus:tmemorystatus;
begin
with memorystatus do
begin
memorystatus.dwLength:=sizeof(memorystatus);
globalmemorystatus(memorystatus);
flatgauge4.maxvalue:=dwtotalvirtual;
flatgauge4.Progress:=dwavailvirtual;
end;
end;
procedure TForm1.FlatButton20Click(Sender: TObject);
const
delay=500;//读取时间间隔
var
cpuinfo:system_info;
priorityclass:integer;
priority:integer;
timerlo:dword;//保存CPU频率值
timerhi:dword;
begin
flatpanel8.Visible:=true;
flatpanel7.Visible:=false;
flatpanel9.Visible:=false;
flatpanel10.Visible:=false;
image6.Visible:=false;
image7.Visible:=false;
image8.Visible:=true;
image9.Visible:=false;
reg:=tregistry.Create ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\hardware\description\system\centralprocessor\0',true);
flatmemo1.Clear;
flatmemo1.Lines.append('处理器型号:'+reg.ReadString('identifier'));
reg.closekey;
reg.free;
getsysteminfo(cpuinfo);
flatmemo1.Lines.Append('处理器结构为:'+inttostr(cpuinfo.wProcessorArchitecture ));
flatmemo1.Lines.Append('处理器类型为:'+inttostr(cpuinfo.dwProcessorType));
priorityclass:=getpriorityclass(getcurrentprocess);
priority:=getthreadpriority(getcurrentthread);
setpriorityclass(getcurrentprocess,realtime_priority_class);
setthreadpriority(getcurrentthread,thread_priority_time_critical);
sleep(10);
asm
dw 310fh
mov timerlo,eax
mov timerhi,edx
end;
sleep(delay);
asm
dw 310fh
sub eax, timerlo
sub edx, timerhi
mov timerlo,eax
mov timerhi,edx
end;
setthreadpriority(getcurrentthread,priority);
setpriorityclass(getcurrentprocess,priorityclass);
flatmemo1.Lines.Append('处理器频率为:'+floattostr(timerlo/(1000*delay))+'MHZ');
end;
procedure TForm1.FlatButton21Click(Sender: TObject);
var
freebyte,totalfreebyte,totalbyte:int64;
w:string;
s:boolean;
i:integer;
begin
flatpanel9.Visible:=true;
flatpanel7.Visible:=false;
flatpanel8.Visible:=false;
flatpanel10.Visible:=false;
image6.Visible:=true;
image7.Visible:=false;
image8.Visible:=false;
image9.Visible:=false;
flatmemo2.Clear;
for i:=1 to 20 do
begin
w:='CDEFGHIJKLMNOPQRSTUVWXYZ';
getdiskfreespaceex(pchar(w[i]+':\'),plargeinteger(@freebyte)^,
plargeinteger(@totalfreebyte)^,nil);
if disksize(ord(w[i])-$40)=-1 then
exit;
flatmemo2.Lines.Add(w[i]+':总容量'+inttostr(totalfreebyte div 1024 div 1024)+'MB');
flatmemo2.Lines.Add(w[i]+':剩余空间'+inttostr(freebyte div 1024 div 1024)+'MB');
if i=1 then
begin
flatgauge5.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge5.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=2 then
begin
flatgauge6.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge6.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=3 then
begin
flatgauge7.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge7.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=4 then
begin
flatgauge8.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge8.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=5 then
begin
flatgauge9.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge9.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=6 then
begin
flatgauge10.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge10.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=7 then
begin
flatgauge11.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge11.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=8 then
begin
flatgauge12.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge12.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=9 then
begin
flatgauge13.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge13.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=10 then
begin
flatgauge14.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge14.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=11 then
begin
flatgauge15.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge15.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=12 then
begin
flatgauge16.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge16.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=13 then
begin
flatgauge17.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge17.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
if i=14 then
begin
flatgauge18.MaxValue:=(totalfreebyte div 1024 div 1024);
flatgauge18.progress:=(totalfreebyte div 1024 div 1024)-(freebyte div 1024 div 1024);
end;
end;
end;
procedure TForm1.FlatButton22Click(Sender: TObject);
begin
begin
flatpanel7.Visible:=false;
flatpanel8.Visible:=false;
flatpanel9.Visible:=false;
flatpanel10.Visible:=true;
image6.Visible:=false;
image7.Visible:=true;
image8.Visible:=false;
image9.Visible:=false;
reg:=tregistry.Create ;
reg.rootkey:=HKEY_LOCAL_MACHINE;
reg.OpenKey('\system\currentcontrolset\services\class\display\0000',true);
label40.Caption:=('显卡信息:'+reg.ReadString('ProviderName')+' '+reg.ReadString('DriverDesc'));
end;
end;
procedure TForm1.FlatButton17Click(Sender: TObject);
begin
flatpanel4.Visible:=false;
flatpanel2.Visible:=false;
flatpanel3.Visible:=false;
flatpanel5.Visible:=false;
flatpanel6.Visible:=true;
flatpanel11.Visible:=false;
end;
procedure TForm1.FlatButton29Click(Sender: TObject);
begin
reg:=tregistry.Create ;
reg.rootkey:=HKEY_current_user;
reg.OpenKey('software\microsoft\windows\currentversion\policies\system',true);
if flatcheckbox3.Checked=true then
reg.Writeinteger('disableregistrytools',1)
else
reg.Writeinteger('disableregistrytools',0);
end;
procedure TForm1.FlatButton23Click(Sender: TObject);
begin
flatpanel4.Visible:=false;
flatpanel2.Visible:=false;
flatpanel3.Visible:=false;
flatpanel5.Visible:=false;
flatpanel6.Visible:=false;
FlatPanel11.visible:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -