我正在创建一个更新程序,它将复制更新的 .exe 文件。它需要检查终端会话中是否有任何 .exes 正在运行。如果 .exes 正在运行,则会将其关闭。这将是在具有管理员权限的服务器上运行的服务。代码需要使用 Delphi 编写,有没有任何想法?
function ProcessIdToSessionId(dwProcessId: DWORD; pSessionId: DWORD): BOOL; stdcall; external 'kernel32.dll';
function GetSessionIdfromProccessId(const processId: DWORD; var sessionId: DWORD): boolean;
begin
result:=ProcessIdToSessionId(processId, DWORD(@sessionId));
end;
function GetCurrentSessionId: DWORD;
begin
if not GetSessionIdfromProccessId(GetCurrentProcessId,result) then
result:=0;
end;