Захист процесу від закриття (вбивства) в три кроки довідник по c #
Захист процесу від закриття (вбивства) в три кроки!

1) Підключаємо простір імен необхідних нам бібліотек:
2) Вставляємо код в код головної форми:
3) Викликаємо в будь-якому місці захист процесу, наприклад при запуску програми: Для перевірки працездатності даного прикладу, скомпілюйте ваш проект і запустіть отриманий файл * .exe. в папці Debug. Запустіть диспетчер задач і перейдіть у вкладку "Процеси". знайдіть процес вашого проекту.

Зробіть клік правою кнопки миші по процесу та виберете з контекстного меню пункт "Завершити процес". Диспетчер завдань, видасть вам повідомлення "Ви дійсно хочете завершити.", Виберете "Завершити процес".

Результат, при спроби завершення процесу буде таким:

Чомусь не працює. Все добре компілюється, але з диспетчера задач процес все одно можна вбити.
Привіт Ігор, все прекрасно працює, спробуйте завантажити приклад. і зробити все як написано в інструкції!
Скачував, міняв, що тільки не робив, проблема в тому, що GetCurrentProcess () повертає -1. Я пробував передавати і Process.GetProcessById ((int) GetCurrentProcessId ()). Handle, де GetCurrentProcessId () теж апішная функція, і Process.GetCurrentProcess (). Handle, всюди повертаються різні дескриптори, причому всі вони змінюються з плином часу. Повністю розібрав вище написаний код, за логікою речей він безсумнівно повинен працювати, не зрозумію, що не так.
Ви исходник SafityProcess.exe запускали? Запускати без прав адміністратора! Перевірено на 3х різних машинах (XP / Vista / 7) і на всіх працює!
Здається я зрозумів, в чому фішка, я ж в систему під адміністратором заходжу, у мене облікових записів інших то і немає. Я створив нову, зайшов через неї, там працює. Спасибі за допомогу. Скажіть, а можна як то права підвищити, щоб і адміністратор не міг через диспетчер задач закрити процес. Встановити, наприклад, в якості Owner систему, тобто System, такі процеси начебто навіть адміном через диспетчер не вб'ють.
Дійсно, якщо даний приклад запустити під обліковим записом адміністратора, то процес закривається. Але якщо запускати під звичайним обліковим записом (навіть якщо вона додана в групу Адміністратори) то цей приклад працює. Проблема буде вирішуватися.