Как скрыть приложение С# из вкладки процесса диспетчера задач?

Мне нужно скрыть приложение С# на вкладке процессов диспетчера задач

с использованием

this.ShowInTaskbar = false; 

Я скрыл его на вкладке приложений. Теперь мне нужно скрыть его на вкладке процесса.

Это возможно?.


person Hardy    schedule 22.08.2011    source источник
comment
Есть веские причины, почему вы хотите это сделать? Очевидно, что образовательные цели - это не то, что нужно, иначе вы бы прочитали книгу о Windows, например, о внутренних компонентах Windows...   -  person Alexei Levenkov    schedule 22.08.2011
comment
Распечатайте его и положите в ящик, диспетчер задач его там не найдет.   -  person Rune FS    schedule 22.08.2011
comment
+1 Тоже большой палец вверх, если вы считаете, что простой факт заинтересованности и любопытства узнать больше является достаточной причиной, чтобы спросить.   -  person Fábio Antunes    schedule 25.03.2013


Ответы (4)


Вы можете внедрить DLL в процесс svchost, чтобы скрыть его от диспетчера задач, но не от ProcessExplorer. Вот как:

Как внедрить управляемую сборку .NET (DLL) в другой процесс

Вот еще немного справочной информации об этом методе: Три способа внедрить свой код в другой процесс

Подобно ссылке @Dark Slipstreams, она указывает информацию о неуправляемом коде.

Дайте нам знать, если у вас возникнут проблемы с кодом, работающим на Win7?

Изменить:

как я могу ограничить пользователя при закрытии моего процесса из диспетчера задач? - что именно вы здесь делаете?

Я не хочу гадать, но если вы действительно хотите знать, вы подключаетесь к WinLogon, @Jeff Atwood объясняет это здесь: Как очистить Windows от заражения шпионским ПО или у вас может быть 2 процесса, которые наблюдают друг за другом...

person Jeremy Thompson    schedule 22.08.2011
comment
Это не будет работать в Windows Vista и более поздних версиях, когда Microsoft ввела разделение сеансов. - person JazzCat; 04.05.2015

Краткий ответ: нет.

Длинный ответ: да.

Не существует простого способа скрыть программу из диспетчера задач. Большинство современных антивирусных программ считают это вредоносным. Вам нужно подключиться к диспетчеру задач, переопределить список процессов, удалить свою запись и отобразить список процессов.

Если это необходимо, взгляните на эту ссылку. Этот пример работает в XP. Я не уверен, что это работает в Windows Vista, и я уверен, что это не работает в Windows 7. В Windows 7 нет возможности скрыть процесс из-за того, как он спроектирован. Я не уверен, почему, но я знаю, что это невозможно сделать.

person Brian Graham    schedule 22.08.2011
comment
Спасибо за ваш повтор. Как я могу ограничить пользователя при закрытии моего процесса из диспетчера задач?... - person Hardy; 22.08.2011
comment
Краткий ответ: нет. Длинный ответ: да. +1, ты меня рассмешил :) - person ya23; 18.02.2015

Если вы пытаетесь предотвратить уничтожение вашего процесса вашими «стандартными» пользователями, вы можете установить свою программу как службу Windows, запустить ее под специальными учетными данными (с действующим паролем с неограниченным сроком действия), настроить автоматический запуск и разрешить только «администраторам» убивать Это.

person rudolf_franek    schedule 22.08.2011

В зависимости от того, почему вы хотите скрыть его и от кого вы его скрываете, вы можете скрыть его на виду, назвав приложение как-то вроде AdobeUpdater.exe.

person Omniabsence    schedule 22.08.2011
comment
но он может закрыться от Taskamnager. Я хочу полностью ограничить пользователя. - person Hardy; 08.09.2011