Delphi: отключить TaskManager в Windows 7 - PullRequest
0 голосов
/ 20 мая 2010

Я нашел этот код для отключения диспетчера задач в Windows XP. Работает :) 1003 *

Но работает ли он и в Windows 7? Путь к реестру такой же, я проверял это. Но, может быть, есть некоторые ограничения!?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 20 мая 2010

По умолчанию указанные ниже клавиши имеют доступ «только для чтения» для обычных пользователей начиная с Windows 2000 (см. здесь ).

  • HKLM \ Software \ Policies
  • HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies
  • HKCU \ Software \ Policies
  • HKCU \ Software \ Microsoft \ Windows \ CurrentVersion \ Policies

Таким образом, ваше приложение должно иметь права администратора для записи в эти ключи.

1 голос
/ 21 мая 2010

Да, это работает и в Windows 7. Я запустил программу с повышенными привилегиями (Windows 7 Home Premium), и после этого диспетчер задач больше не доступен.

Но, как свидетельство, я должен сказать, что код

case YesNo of
  False:
    begin
      WriteInteger('DisableTaskMgr',1) ;
    end;
  True:
    begin
      WriteInteger('DisableTaskMgr',0) ;
    end;
end;

довольно ужасно. Прежде всего, нет необходимости в деталях begin и end, потому что команды WriteInteger... являются однострочными. Во-вторых, почему бы просто не записать значение not YesNo?

На самом деле нужно написать код как

WriteInteger('DisableTaskMgr', byte(not YesNo));

Разве это не намного более читабельно и кратко?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...