Fórum Suspende Processo #548677
16/03/2016
0
tentei com a função:
function SuspendProcess(const PID: DWORD): Boolean;
var
LibHandle: THandle;
ProcHandle: THandle;
NtSuspendProcess: TProcFunction;
begin
Result := False;
LibHandle := SafeLoadLibrary('ntdll.dll');
if LibHandle <> 0 then
try
@NtSuspendProcess := GetProcAddress(LibHandle, 'NtSuspendProcess');
if @NtSuspendProcess <> nil then
begin
ProcHandle := OpenProcess(PROCESS_SUSPEND_RESUME, False, PID);
if ProcHandle <> 0 then
try
Result := NtSuspendProcess(ProcHandle) = STATUS_SUCCESS;
finally
CloseHandle(ProcHandle);
end;
end;
finally
FreeLibrary(LibHandle);
end;
end;mais nada resolvido. Alguem tem alguma solução ?
Junior Santos
Curtir tópico
+ 0Posts
16/03/2016
Junior Santos
Gostei + 0
16/03/2016
Carlos Alexandrino
tentei com a função:
function SuspendProcess(const PID: DWORD): Boolean;
var
LibHandle: THandle;
ProcHandle: THandle;
NtSuspendProcess: TProcFunction;
begin
Result := False;
LibHandle := SafeLoadLibrary('ntdll.dll');
if LibHandle <> 0 then
try
@NtSuspendProcess := GetProcAddress(LibHandle, 'NtSuspendProcess');
if @NtSuspendProcess <> nil then
begin
ProcHandle := OpenProcess(PROCESS_SUSPEND_RESUME, False, PID);
if ProcHandle <> 0 then
try
Result := NtSuspendProcess(ProcHandle) = STATUS_SUCCESS;
finally
CloseHandle(ProcHandle);
end;
end;
finally
FreeLibrary(LibHandle);
end;
end;mais nada resolvido. Alguem tem alguma solução ?
Olá,
Não deu certo porque? QUal a mensagem de erro que aparece?
Gostei + 0
17/03/2016
Junior Santos
tentei com a função:
function SuspendProcess(const PID: DWORD): Boolean;
var
LibHandle: THandle;
ProcHandle: THandle;
NtSuspendProcess: TProcFunction;
begin
Result := False;
LibHandle := SafeLoadLibrary('ntdll.dll');
if LibHandle <> 0 then
try
@NtSuspendProcess := GetProcAddress(LibHandle, 'NtSuspendProcess');
if @NtSuspendProcess <> nil then
begin
ProcHandle := OpenProcess(PROCESS_SUSPEND_RESUME, False, PID);
if ProcHandle <> 0 then
try
Result := NtSuspendProcess(ProcHandle) = STATUS_SUCCESS;
finally
CloseHandle(ProcHandle);
end;
end;
finally
FreeLibrary(LibHandle);
end;
end;mais nada resolvido. Alguem tem alguma solução ?
Olá,
Não deu certo porque? QUal a mensagem de erro que aparece?
Obrigado por responde Carlos.
Então compilo tudo certo, mais rodando nao fez oque precisava. Não suspendeu o processo pelo pid. Um programa que trabalha desta forma eh o PC Hunter da www.xuetr.com que suspende o processo e suas thread deixando todo o sistema pausado ate a liberação do resume, Mais o problema que tenho meu sistema na empresa onde não posso da permissão aos usuarios da maquina como admin pois é um sistema de telemarketing e faço assistência remota do sistema. Mais preciso suspende o processo e thread do processo apenas pelo tempo de eu pode atualizar e eu pode libera o sistema volta a trabalhar ja com nova versão.
Desde já, Obrigado.
Gostei + 0
17/03/2016
Junior Santos
Gostei + 0
18/03/2016
Junior Santos
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)