📄 upgrader.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 + -