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

📄 upgrader.dpr

📁 特性: 1、阻塞模式更新 2、具备比较完备的进度控制 3、与autoupgrader组件相比
💻 DPR
字号:
program upgrader;

uses
  Windows,
  Classes,
  Common,
  SysUtils;

var
  ParentPID: Integer;
  ParentProcessName: string;
  uProcess: DWORD;
  CurrentDir: string;
begin
  CurrentDir := IncludeTrailingPathDelimiter(ExtractFilePath(GetModuleName(HInstance)));
  try
    if ParamCount <> 2 then begin
      RollBack(CurrentDir + FINISHED_FILENAME);
      Exit;
    end;

    ParentProcessName := ParamStr(1);
    ParentPID := StrToIntDef(ParamStr(2), 0);

    if ParentPID <= 0 then begin
      RollBack(CurrentDir + FINISHED_FILENAME);
      Exit;
    end;

    uProcess := OpenProcess(PROCESS_ALL_ACCESS, false, ParentPID);
    try
      if uProcess <> 0 then TerminateProcess(uProcess, 0);
    finally
      CloseHandle(uProcess)
    end;
    Sleep(500);
    UpgraderWork(CurrentDir + FINISHED_FILENAME);
  finally
    WinExec(PChar(CurrentDir + ParentProcessName), SW_SHOWNORMAL);
    Suicide;
  end;
end.

⌨️ 快捷键说明

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