Как предотвратить запуск TaskManager на моем рабочем столе? - PullRequest
0 голосов
/ 19 ноября 2009

Я создаю новый рабочий стол в Windows XP / Vista и 7, используя Win32 API. Это больше похоже на наличие защищенного рабочего стола, и я не хочу, чтобы на этом рабочем столе выполнялось какое-либо другое приложение.

Что ж, в Windows XP, если я нажимаю strg + shift + Esc или strg + alt + ent, на рабочем столе, который я создал, я не вижу диспетчер задач на рабочем столе, а вместо этого на рабочем столе по умолчанию.

Ну, это нормально, но в Windows Vista, делая то же самое, я получаю диспетчер задач на рабочем столе, где пользователь может запустить другое приложение, используя меню Файл-> Новая задача (Выполнить ...).

Вот мой вопрос, как лучше всего запретить отображение диспетчера задач на созданном мной рабочем столе или даже запретить его запуск?

1) используя ключ реестра, 2) захватывать нажатия клавиш? 3) что еще ???

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

Ответы [ 4 ]

2 голосов
/ 19 ноября 2009

Я предполагаю, что вы звоните CreateDesktop , если это так, вы сможете заблокировать этот рабочий стол с помощью дескриптора безопасности, который разрешает доступ только к вашей программе

2 голосов
/ 19 ноября 2009

Групповая политика - ваш друг. Вот как это отключить .

1 голос
/ 19 ноября 2009

Возможно, это не лучшее решение, но вы всегда можете отслеживать диспетчер задач и закрывать его

foreach (Process clsProcess in Process.GetProcesses()) {
        if (clsProcess.ProcessName.StartsWith("taskmgr"))
        {
            clsProcess.Kill();
            return true;
        }
    }

Код в C #

0 голосов
/ 19 ноября 2009

переименуйте файл taskman.exe в другое.

...