Нет 100% надежного метода, но должна быть возможность защитить процесс таким способом. К сожалению, это потребовало бы большего знания API системы безопасности Windows, чем у меня сейчас, но принцип прост: позвольте приложению работать под другой (администраторской) учетной записью и установите свойства безопасности объекта процесса на максимум. (Отказывая всем другим пользователям в праве закрыть процесс, таким образом, только специальная учетная запись администратора может закрыть его.)
Настройте вторичную службу и заставьте ее работать в качестве опекуна процесса. У него должна быть линия жизни для защищенного приложения, и когда эта линия жизни обрезается (приложение закрывается), то он должен возобновить процесс снова. (Эта линия жизни будет любым видом межпроцессного взаимодействия.)
Тем не менее, есть еще способы убить такой неубиваемый процесс. Но для этого нужны знания, о которых большинство пользователей на самом деле не знают, поэтому около 85% всех пользователей не будут иметь понятия, чтобы остановить ваш процесс.
Имейте в виду, что создание такого приложения может иметь юридические последствия. Например, Sony создала приложение руткита, которое автоматически устанавливалось, когда люди вставляли музыкальный компакт-диск Sony или игровой компакт-диск в свой компьютер. Это было частью их решения DRM. К сожалению, было довольно сложно убить это приложение, и оно было установлено без каких-либо предупреждений для пользователей. Хуже того, у него было несколько недостатков, которые предоставили бы хакерам дополнительные способы получить доступ к этим системам и, таким образом, заразить довольно много из них. Sony должна была возместить достаточно много людей за ущерб и должна была заплатить большой штраф. (И тогда я даже не буду упоминать, как это повлияло на их репутацию.)
Я бы посчитал такое приложение легальным только при установке его на свой компьютер. Если вы планируете продавать это приложение другим, вы должны сообщить этим покупателям, как убить процесс, если это будет необходимо. Я знаю, что Symantec делает нечто подобное со своим программным обеспечением, именно поэтому я больше не использую их программное обеспечение. Это мой компьютер, поэтому я смогу убить любой процесс, который захочу.