📄 main.pas
字号:
Socket: TCustomWinSocket);
begin
memo1.Lines.Add('请稍候,本机正在连接服务器...'+clientsocket1.Address );
snstatusbar1.SimpleText :=' 请稍候,本机正在连接服务器...'+clientsocket1.Address ;
end;
//当断开与服务器端的连接时发生
procedure Tstart.ClientSocket1Disconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
suibutton10.Enabled :=not suibutton10.Enabled ;
suibutton11.Enabled :=not suibutton11.Enabled ;
snstatusbar1.SimpleText :=' 本机已经断开与 '+ Socket.RemoteHost +' 的连接。';
memo1.Lines.Add('本机已经断开与服务器:'+socket.RemoteHost +'...'+' IP地址:'+socket.RemoteAddress+' 的连接。' );
showmessage('本计算机已经与服务器端断开连接。'+chr(10)+chr(13)+chr(10)+chr(13)+'请立即报告给管理员,确定后系统将自动关机!!!');
//操作客户端计算机
ExitWindowsEx( 1{V},0); //调用Windows的API函数(V=0表示重新登录、V=1表示关机、V=2表示重启动)
end;
//当与服务器端的连接发生错误时
procedure Tstart.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
snstatusbar1.SimpleText :=' 与服务器的连接发生错误。';
ErrorCode := 0;
memo1.Lines.Add('《网吧哨兵》服务器端尚未启动。请先在服务器上启动服务器端。');
showmessage('《网吧哨兵》服务器端尚未启动。请先在服务器上启动服务器端。'+chr(10)+chr(13)+chr(10)+chr(13)+'请立即报告给管理员,确定后系统将自动关机!!!');
//操作客户端计算机
ExitWindowsEx( 1{V},0); //调用Windows的API函数(V=0表示重新登录、V=1表示关机、V=2表示重启动)
end;
procedure Tstart.ClientSocket1Read(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Add(Socket.ReceiveText);
end;
procedure Tstart.suiCheckBox5Click(Sender: TObject);
var
reg:TRegistry ;
begin
reg:=Tregistry.Create ;
try
reg.RootKey := HKEY_CURRENT_USER;
if suicheckbox5.Checked then
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('nodown','1');
end;
end
else
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('nodown','0');
end;
end;
finally
reg.CloseKey ;
reg.Free;
inherited;
end;
end;
procedure Tstart.suiCheckBox6Click(Sender: TObject);
var
reg:TRegistry ;
begin
reg:=Tregistry.Create ;
try
reg.RootKey := HKEY_CURRENT_USER;
if suicheckbox6.Checked then
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('noactivex','1');
end;
end
else
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('noactivex','0');
end;
end;
finally
reg.CloseKey ;
reg.Free;
inherited;
end;
end;
procedure Tstart.suiCheckBox7Click(Sender: TObject);
var
reg:TRegistry ;
begin
reg:=Tregistry.Create ;
try
reg.RootKey := HKEY_CURRENT_USER;
if suicheckbox7.Checked then
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('nopage','1');
end;
end
else
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('nopage','0');
end;
end;
finally
reg.CloseKey ;
reg.Free;
inherited;
end;
end;
procedure Tstart.suiButton10Click(Sender: TObject);
begin
suibutton10.Enabled := not suibutton10.Enabled;
suibutton11.Enabled := not suibutton11.Enabled ;
clientsocket1.Open ;
memo1.Lines.Add('重新连接到服务器:'+ clientsocket1.Address );
end;
procedure Tstart.suiButton11Click(Sender: TObject);
begin
suibutton10.Enabled := not suibutton10.Enabled;
suibutton11.Enabled := not suibutton11.Enabled ;
memo1.Lines.Add('断开与服务器:'+clientsocket1.Address +' 的连接。');
clientsocket1.Close ;
end;
procedure Tstart.suiButton12Click(Sender: TObject);
begin
memo1.Clear ;
memo1.Lines.Add('网络连接记录');
end;
procedure Tstart.suiMemo2DblClick(Sender: TObject);
begin
suimemo2.Clear ;
end;
procedure Tstart.suiMemo3DblClick(Sender: TObject);
begin
suimemo3.Clear ;
end;
procedure Tstart.suiCheckBox8Click(Sender: TObject);
var
reg:TRegistry ;
begin
reg:=Tregistry.Create ;
try
reg.RootKey := HKEY_CURRENT_USER;
if suicheckbox8.Checked then
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
reg.WriteString('norun','1');
clientsocket1.Socket.SendText('客户端已经设为自动关闭所有限制运行的程序。') ;
end;
end
else
begin
if reg.OpenKey('\Software\netguard\hookprg',true) then
begin
clientsocket1.Socket.SendText('客户端已经取消自动关闭所有限制运行的程序。') ;
reg.WriteString('norun','0');
end;
end;
finally
reg.CloseKey ;
reg.Free;
inherited;
end;
end;
procedure Tstart.FlatButton1Click(Sender: TObject);
var
InputString: string;
begin
reg:=tregistry.Create ;
reg.RootKey :=HKEY_CURRENT_USER;
if trim(suiedit4.Text )<>'' then
if ( (Length(suiedit4.Text)>5 )and (Length(suiedit4.Text)<25) ) then
begin
if reg.OpenKey('\Software\netguard\password',true) then
begin
if reg.ValueExists('superword') then
begin
InputString:= InputBox('用户密码验证', ' 请输入旧密码进行验证:(第一次使用请输入默认密码)', '');
if reg.ReadString('superword')=EncryStrhex(Inputstring,'cd37ycs19750323') then
begin
reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
clientsocket1.Socket.SendText('操作人员正在更改客户端密码,且密码输入正确。');
showmessage('用户密码修改成功!');
end
else
clientsocket1.Socket.SendText('操作人员正在更改客户端密码,且密码输入错误。');
showmessage('用户密码修改失败!');
end
else
begin
InputString:= InputBox('用户密码验证', ' 请输入旧密码进行验证:(第一次使用请输入默认密码)', '');
if EncryStrhex(Inputstring,'cd37ycs19750323')= EncryStrhex('19755791','cd37ycs19750323') then
begin
reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
showmessage('用户密码设置成功!');
clientsocket1.Socket.SendText('操作人员正在更改客户端密码,且密码输入正确。');
end
else
begin
clientsocket1.Socket.SendText('操作人员正在更改客户端密码,且密码输入错误。');
showmessage('用户密码设置失败!系统继续使用默认密码。');
end;
end;
end;
reg.CloseKey ;
reg.Free ;
suiedit4.Text :='';
end
else
begin
clientsocket1.Socket.SendText('操作人员正在非法修改本程序的客户端密码。');
showmessage('注意:密码没有输入或密码长度应大于6位小于24位。');
end;
end;
procedure Tstart.controlTabActive(Sender: TObject; TabIndex: Integer);
var
InputString: string;
begin
reg:=tregistry.Create ;
reg.RootKey :=HKEY_CURRENT_USER;
if not rightpassword then
if reg.OpenKey('\Software\netguard\password',true) then
begin
if reg.ValueExists('superword') then
begin
InputString:= InputBox('用户密码验证', ' 请输入用户密码进行验证:(第一次使用请输入默认密码)', '');
if reg.ReadString('superword')=EncryStrhex(Inputstring,'cd37ycs19750323') then
begin
//reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,且密码输入正确。');
showmessage('用户密码输入正确!');
rightpassword := true;
suibutton10.Visible :=true;
suibutton11.Visible :=true;
suibutton13.Visible :=true;
end
else
begin
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,但密码输入错误。');
showmessage('用户密码输入错误!');
rightpassword := false;
start.Hide ;
//control.ActivePage :=sheet1;
end;
end
else
begin
InputString:= InputBox('用户密码验证', ' 请输入旧密码:(第一次使用请输入默认密码)', '');
if EncryStrhex(Inputstring,'cd37ycs19750323')= EncryStrhex('19755791','cd37ycs19750323') then
begin
//reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,且密码输入正确。');
showmessage('默认密码正确!');
rightpassword := true;
suibutton10.Visible :=true;
suibutton11.Visible :=true;
suibutton13.Visible :=true;
end
else
begin
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,但密码输入错误。');
showmessage('默认密码输入错误!');
rightpassword := false;
start.Hide ;
//control.ActivePage :=sheet1;
end;
end;
end;
reg.CloseKey ;
reg.Free ;
end;
procedure Tstart.suiButton13Click(Sender: TObject);
begin
reg:=Tregistry.Create ;
reg.RootKey :=HKEY_CURRENT_USER;
if reg.OpenKey('\Software',false) then
begin
if reg.KeyExists('netguard') then
begin
reg.DeleteKey('netguard');
showmessage('已经将设置还原到程序默认设置');
end
else
showmessage('设置已经还原到程序默认设置');
end;
reg.CloseKey ;
reg.RootKey :=HKEY_LOCAL_MACHINE;
if reg.OpenKey('\SOFTWARE\Microsoft\Windows\CurrentVersion\Run',false) then
begin
if reg.ValueExists('网络哨兵') then
begin
reg.DeleteValue('网络哨兵');
showmessage('已经去掉了程序的自动启动功能');
end;
end;
end;
procedure Tstart.controlMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
var
InputString: string;
begin
reg:=tregistry.Create ;
reg.RootKey :=HKEY_CURRENT_USER;
if not rightpassword then
if reg.OpenKey('\Software\netguard\password',true) then
begin
if reg.ValueExists('superword') then
begin
InputString:= InputBox('用户密码验证', ' 请输入用户密码进行验证:(第一次使用请输入默认密码)', '');
if reg.ReadString('superword')=EncryStrhex(Inputstring,'cd37ycs19750323') then
begin
//reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,且密码输入正确。');
showmessage('用户密码输入正确!');
rightpassword := true;
suibutton10.Visible :=true;
suibutton11.Visible :=true;
suibutton13.Visible :=true;
end
else
begin
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,但密码输入错误。');
showmessage('用户密码输入错误!');
rightpassword := false;
start.Hide ;
//control.ActivePage :=sheet1;
end;
end
else
begin
InputString:= InputBox('用户密码验证', ' 请输入旧密码:(第一次使用请输入默认密码)', '');
if EncryStrhex(Inputstring,'cd37ycs19750323')= EncryStrhex('19755791','cd37ycs19750323') then
begin
//reg.WriteString('superword',EncryStrhex(suiedit4.Text,'cd37ycs19750323' ));
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,且密码输入正确。');
showmessage('默认密码正确!');
rightpassword := true;
suibutton10.Visible :=true;
suibutton11.Visible :=true;
suibutton13.Visible :=true;
end
else
begin
clientsocket1.Socket.SendText('操作人员正在更改客户端设置,但密码输入错误。');
showmessage('默认密码输入错误!');
rightpassword := false;
start.Hide ;
//control.ActivePage :=sheet1;
end;
end;
end;
reg.CloseKey ;
reg.Free ;
end;
procedure Tstart.suiGroupBox8MouseMove(Sender: TObject; Shift: TShiftState;
X, Y: Integer);
begin
checkpassword;
if rightpassword then
suigroupbox8.Enabled :=true
else
suigroupbox8.Enabled :=false;
end;
procedure Tstart.suiForm1TitleBarCustomBtnsClick(Sender: TObject;
ButtonIndex: Integer);
var
temp:integer;
begin
checkpassword;
if rightpassword then
begin
//恢复热启动键有效
SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,@temp,0);
close;
end
else
begin
if start.Showing then
start.hide;
end;
end;
procedure Tstart.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if rightpassword then
canclose :=true
else
begin
canclose :=false;
rightpassword:=false;
start.Hide ;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -