⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 一个检测网络信息的程序.
💻 PAS
📖 第 1 页 / 共 4 页
字号:
  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 + -