Существует ли окно api для определения того, работает ли моя dll в системной службе или обычном пользовательском процессе?Обнаруживать, если dll загружается в службу
Раньше я смотрел на текущее имя пользователя и игнорировал «SYSTEM», «LOCAL SERVICE» и «NETWORK SERVICE». Но теперь я вижу GetUsername return machine_name $ в случаях, когда svchost запускается в определенных ситуациях, прежде чем кто-либо войдет в систему. Кроме того, я не могу найти документацию для machine_name $ result из GetUsername в Vista, кто-нибудь видел это поведение?
Помимо всего прочего, сервисы могут быть настроены для работы как любой пользователь, которого вы хотите. Имя пользователя ничего не сообщит о том, является ли программа службой. –