Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
ВнизКак завершить процесс, доступ к которому закрыт ? Найти похожие ветки
← →
__Сергей__ (2007-10-21 00:05) [0]Есть программа, которая когда вешается - ее не закрыть. Из нее можно выйти только когда она работоспособна и не повисла. А ежели она зависла то ее ничем не взять (хотя ее ничем не взять и когда она не повисшая), пытаешься удалить процесс из списка процессов в таск менеджере, пишут отказано в доступе. Пытаешься то же самое через таск инфо - тоже отказ в доступе. пытаешься через процесс эксплорер - та же фигня.
Программа настолько бесит тем что когда она виснет приходится перезапускать машину или же запускать вторую ее копию, а прога давольно ресурсоемкая ...
Вобщем помогите пожалуйста, подскажите как можно убивать такие гадостные программы :(((
пробовал так :procedure KillProgram(ClassName: PChar; WindowTitle: PChar);
const
PROCESS_TERMINATE = $0001;
var
ProcessHandle : THandle;
ProcessID: Integer;
TheWindow : HWND;
begin
TheWindow := FindWindow(PChar(ClassName), PChar(WindowTitle));
GetWindowThreadProcessID(TheWindow, @ProcessID);
ProcessHandle := OpenProcess(PROCESS_TERMINATE, FALSE, ProcessId);
TerminateProcess(ProcessHandle,4);
end;
вообще ноль имоций...
Помогите пожалуйста :(
← →
DrPass © (2007-10-21 00:30) [1]Попробуй с помощью FarManager - он может грохнуть с debug-привилегиями
← →
Игорь © (2007-10-21 09:45) [2]
> __Сергей__ (21.10.07 00:05)
Ну если Task Manager не может тогда наверно никто не сможет, попробуй с debug-привилегиямиfunction EnableDebugPrivilege(): Boolean;
var
hToken: THandle;
tp: TOKEN_PRIVILEGES;
d: DWORD;
begin
Result := False;
if OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, hToken) then
begin
tp.PrivilegeCount:= 1;
LookupPrivilegeValue(nil, "SeDebugPrivilege", tp.Privileges[0].Luid);
tp.Privileges[0].Attributes:= $00000002;
AdjustTokenPrivileges(hToken, False, tp, SizeOf(TOKEN_PRIVILEGES), nil, d);
if GetLastError = ERROR_SUCCESS then
begin
Result := True;
end;
CloseHandle(hToken);
end;
end;
← →
korneley © (2007-10-21 10:00) [3]А может все проще? Может сервис какой-нибудь сначала остановить, и все или само "уйдёт", или убъётся из таскманагера без пробемм?
← →
korneley © (2007-10-21 10:01) [4]пробемм = проблемм
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.073 c