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

📄 regunit.~pas

📁 DELPHI 下远程控制源码
💻 ~PAS
📖 第 1 页 / 共 4 页
字号:
         TheNewItem.Caption:='(默认)';
         if Reg.GetDataInfo('',TheValueInfo)=true then
         begin           
           if TheValueInfo.RegData<>rdInteger then
           begin
             if TheValueInfo.RegData=rdBinary then
             begin
                TheNewItem.StateIndex:=5;
                TheNewItem.SubItems.Add('REG_BINARY');
                TheNewItem.SubItems.Add('Binary Data..'); 
             end;
             if TheValueInfo.RegData=rdString then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('REG_SZ');
                TheNewItem.SubItems.Add(Reg.ReadString('')); 
             end;
             if TheValueInfo.RegData=rdExpandString then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('REG_SZ_E');
                TheNewItem.SubItems.Add(Reg.ReadString('')); 
             end;
             if TheValueInfo.RegData=rdUnknown then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('UNKNOWN');
                TheNewItem.SubItems.Add(Reg.ReadString('')); 
             end;                
           end else 
           begin
              TheNewItem.StateIndex:=5;
              TheNewItem.SubItems.Add('REG_DWORD');
              TheNewItem.SubItems.Add('Unkown Data ..');
           end;
         end else 
         begin
            TheNewItem.StateIndex:=4;
            TheNewItem.SubItems.Add('REG_SZ');
            TheNewItem.SubItems.Add('(数值未设置)');
         end;
       //=================================默认值处理 结束
       For i:=0 To TheNameValues.Count-1 do
       begin
         if TheNameValues[i]<>'' then 
         begin //===========================================非
           TheNewItem:=TheLV.Items.Add;
           TheNewItem.Caption:=TheNameValues[i];
                     
           Reg.GetDataInfo(TheNameValues[i],TheValueInfo);
           
           if TheValueInfo.RegData<>rdInteger then
           begin
             if TheValueInfo.RegData=rdBinary then
             begin
                TheNewItem.StateIndex:=5;
                TheNewItem.SubItems.Add('REG_BINARY');
                TheNewItem.SubItems.Add('Binary Data..'); 
             end;
             if TheValueInfo.RegData=rdString then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('REG_SZ');
                TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i])); 
             end;
             if TheValueInfo.RegData=rdExpandString then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('REG_SZ_E');
                TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i])); 
             end;
             if TheValueInfo.RegData=rdUnknown then
             begin
                TheNewItem.StateIndex:=4;
                TheNewItem.SubItems.Add('UNKNOWN');
                TheNewItem.SubItems.Add(Reg.ReadString(TheNameValues[i])); 
             end;                
           end else 
           begin
              TheNewItem.StateIndex:=5;
              TheNewItem.SubItems.Add('REG_DWORD');
              TheNewItem.SubItems.Add(IntToStr(Reg.ReadInteger(TheNameValues[i])));
           end;
         end;//==================================非处理          
       end;
       Reg.CloseKey;
    end;
  finally
    Reg.Free;   
  end;
  
  TheKeyNames.Free;
  TheNameValues.Free;
end;
procedure TRegFm.TreeView1DblClick(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;

    Screen.Cursor:=crAppStart;
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 
    
    GetSubTreeNode(TreeView1,TheNode,ListView1,TheRootNode.Text,TheKeyOpen);
    TreeView1.Selected.Expand(True);
    Screen.Cursor:=crDefault;
end;

procedure TRegFm.N11Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheValuesTM : String;
   TheTempNode : TTreeNode;
begin
    if ListView1.Selected=nil then exit;
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 
    TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
    DoValueModify(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;

procedure TRegFm.N12Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheValuesTM : String;
   TheTempNode : TTreeNode;
begin
    if ListView1.Selected=nil then exit;
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit; 
    
    if Application.MessageBox(PChar(ListView1.Selected.Caption),
          '删除确认', MB_OKCANCEL+MB_ICONWARNING)<>IDOK then exit;   
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 
    TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
    DoValueDelete(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;

procedure TRegFm.N13Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheValuesTM : String;
   TheTempNode : TTreeNode;
begin
    if ListView1.Selected=nil then exit;
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 
    TheValuesTM:=ListView1.Selected.Caption; //获取需要修改的值
    DoValueRename(TheRootNode.Text,TheKeyOpen,TheValuesTM);
end;

procedure TRegFm.ListView1DblClick(Sender: TObject);
begin
    N11Click(self);
end;

procedure TRegFm.N2Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;

    if Application.MessageBox(PChar(TreeView1.Selected.Text),
          '删除确认', MB_OKCANCEL+MB_ICONWARNING)<>IDOK then exit; 
          
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoNameDelete(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N3Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoNameRename(TheRootNode.Text,TheKeyOpen,TheNode.Text);
end;

procedure TRegFm.N4Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoNameCreate(TheRootNode.Text,TheKeyOpen);
end;
procedure TRegFm.N18Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoStringValueCreate(TheRootNode.Text,TheKeyOpen);
end;

procedure TRegFm.N19Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoDWordValueCreate(TheRootNode.Text,TheKeyOpen);
end;

procedure TRegFm.N6Click(Sender: TObject);
begin
    N18Click(self);
end;

procedure TRegFm.N7Click(Sender: TObject);
begin
   N19Click(self);
end;

procedure TRegFm.N20Click(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin
    if TreeView1.Selected=nil then exit;
    if TreeView1.Selected.Parent=nil then exit;
    
    TheNode:=TreeView1.Selected;
    TheRootNode:=TheNode;
    While TheRootNode.Parent.Parent<>nil do  //获取根值
             TheRootNode:=TheRootNode.Parent;
    TheKeyOpen:='';
    TheTempNode:=TheNode;
    While TheTempNode.Parent.Parent<>nil do  //获取键值
    begin
        TheKeyOpen:='\'+TheTempNode.Text+TheKeyOpen;
        TheTempNode:=TheTempNode.Parent;         
    end;
    if TheRootNode=TheNode then TheKeyOpen:=''; 

    DoBinaryValueCreate(TheRootNode.Text,TheKeyOpen);
end;

procedure TRegFm.N8Click(Sender: TObject);
begin
   N20Click(Self);
end;

procedure TRegFm.SpeedButton1Click(Sender: TObject);
var
    RetID:integer;
begin
    if Form1.IdFTCPClient.Connected then
    begin
      if Form1.ConnectRemoteHost(RegTCPClient,Form1.TheFileConnectRec) then
      begin
        try
          RetID:=RegTcpClient.ReadInteger;//读取连接后返回标志
        except
           Beep;
           SpeedButton2.Down:=True;
           StatusBar1.Panels[0].Text:='数据传输错误!';
           exit;
        end;
        if RetID=1 then
           StatusBar1.Panels[0].Text:='连接成功!';
        if RetID=0 then
        begin 
           Beep;
           SpeedButton2.Down:=True;
           StatusBar1.Panels[0].Text:='验证失败!';
        end;
      end else
      begin
           Beep;
           SpeedButton2.Down:=True;
           StatusBar1.Panels[0].Text:='连接失败!';
      end;
    end else
    begin
       Beep;
       SpeedButton2.Down:=True;
       StatusBar1.Panels[0].Text:='参数错误!';
    end;
end;

procedure TRegFm.TreeView2DblClick(Sender: TObject);
var
   TheNode     : TTreeNode;
   TheRootNode : TTreeNode;
   TheKeyOpen  : String;
   TheTempNode : TTreeNode;
begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -