Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Процессы/сервисы/службы [D6, WinXP]


Colonel ©   (2005-01-07 19:13:00) 

Возможно ли убить/закрыть процесс с повышенным приоритетом ? И как это сделать ?


Colonel   (2005-01-08 22:52:00) [1]

KaZaNoVa respect to you
Best regards to all

Пробовал все вышло. Буду дальше мучить винду. А LoL потому, что не спал уже 2-ое суток из-за компа не могу вылезти.

Всем спасибо.


Piter   (2005-01-08 15:37:00) [2]

Colonel   (08.01.05 1:38) [6]
ввиду именно приоритет, а не привилегия. Т.е когда он может быть Real priority, High priority, Normal и Idle. Слышал о таких ? Вот именно о них и шла речь. Часто еще процессы с повышенным приоритетом называют критическими. Типа winlogon`а. Попробуй его в диспетчере завершить и диспетчер выдаст что это критический процесс и диспетчер не может завершить его


в орешник. Однозначно :)


kaZaNoVa   (2005-01-08 15:37:00) [3]

Piter ©   (08.01.05 15:37) [12]
да, лол 100%


kaZaNoVa   (2005-01-08 11:00:00) [4]

по сабжу
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1105126143&n=5
там я выложил "убойный" пример:))


Kerk   (2005-01-08 05:50:00) [5]

TerminateProcess пробовал?


Kerk   (2005-01-08 05:45:00) [6]

Colonel   (08.01.05 1:38) [6]
ой.. ну не надо мне про это рассказывать...

> Типа winlogon`а. Попробуй его в диспетчере завершить и
> диспетчер выдаст что это критический процесс и
> диспетчер не может завершить его.

Диспетчер не хочет завершать его совсем не из-за приоритета.
Colonel   (08.01.05 5:25) [8]
Блин, и чего ты на ТаскМенеджер равняешься? Возьми другой, не стандартный, он твой процесс с полпинка пришибет. Еще раз: дело не в приоритете, а в логике виндового таскмана!


Colonel   (2005-01-08 05:25:00) [7]

To GanibalLector [7]

Скажу, что был немного не прав. Вирусы не пишу. Пока не до этого. А вопрос звучал именно про процессы :

Возможно ли убить/закрыть процесс с повышенным приоритетом ? И как это сделать ?

Просто заголовок немного неправильно оформил. За это уже извинился. И все-таки, Возможно ли убить/закрыть процесс с повышенным приоритетом ? И как это сделать ?- на примере winlogon.


GanibalLector   (2005-01-08 02:15:00) [8]

2 Colonel
Создай пустую форму,на ней кнопку,на кнопке :

SetPriorityClass(GetCurrentProcess,REALTIME_PRIORITY_CLASS);


Запусти  диспетчер посмотри,что приоритет средний средний.Нажми на кнопку и опять посмотри на диспетчер-приоритет реального времени.Нажимай на завершить процесс... Что теперь скажешь???

А  winlogon не трожь!!! Вирусы пишут не на этом сайте!

З.Ы.И еще,ты определись !А то сначала сервисы и службы,потом процессы.


Colonel   (2005-01-08 01:38:00) [9]

2 Kerk :
Телепат из тебя, прямо скажу - никудышный. Имелось ввиду именно приоритет, а не привилегия. Т.е когда он может быть Real priority, High priority, Normal и Idle. Слышал о таких ? Вот именно о них и шла речь. Часто еще процессы с повышенным приоритетом называют критическими. Типа winlogon`а. Попробуй его в диспетчере завершить и диспетчер выдаст что это критический процесс и диспетчер не может завершить его.

Вопрос остается в силе.


GanibalLector   (2005-01-07 23:08:00) [10]

2 GuAV
Надо.Я их вечно забываю закрывать.Ты удивишься,но неделю назад кто-то задавал такой же вопрос,я ответил этим же кодом и цифрочеловек указал на то же,что и ты(т.е. на  CloseServiceHandle). ;)


GuAV   (2005-01-07 20:11:00) [11]

GanibalLector ©   (07.01.05 19:18) [2]
aa:=OpenService(OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS),'SmcService',SERVICE_ALL_ACCESS);

А OpenSCManager CloseServiceHandleилть не надо ?


GanibalLector   (2005-01-07 19:21:00) [12]

Только нужно знать имя сервиса,а оно обычно не то,что в таскменеджере.Для этих целей есть другая процедурка.Более того,у меня на тачке сервисов АЖ 3 сотни,запущенных около 80.


GanibalLector   (2005-01-07 19:18:00) [13]

Вот так :

var
aa:cardinal;ess:TEnumServiceStatus;
begin
aa:=OpenService(OpenSCManager(nil,nil, SC_MANAGER_ALL_ACCESS), 'SmcService',SERVICE_ALL_ACCESS);
ControlService(aa,SERVICE_CONTROL_STOP,ess.ServiceStatus);
CloseServiceHandle(aa);


Kerk   (2005-01-07 19:16:00) [14]

Ок. Выполняя функции главного телепата, предположу, что имелись ввиду привелегии, но не приоритет. :)


Наверх

Титульная страница Поиск, карта сайта Написать письмо