Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.034 c
15-1191931910
YuriKoltsov
2007-10-09 16:11
2007.11.11
Кодировка


2-1192772617
ses
2007-10-19 09:43
2007.11.11
combobox. edit;


1-1183124792
Tack
2007-06-29 17:46
2007.11.11
Проблемы отрисовки TComboBox в режиме OwnerDrawVariable


15-1191682768
новый админ
2007-10-06 18:59
2007.11.11
медленный доступ к удаленному серверу


1-1187796570
Дмитрий Белькевич
2007-08-22 19:29
2007.11.11
Полупрозрачность tpngimage на прозрачной форме.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский