Windows EXE может работать как служба или приложение. Как определить, работает ли он как служба или нет?

Я ищу вызов Win32 API для возврата контекста времени выполнения моего процесса. Я хочу быть Можно программно проверить, работаю ли я как служба или как стандартный процесс приложения.

На ум приходит несколько идей .... Так как у меня всегда есть служба DAD.exe, которая иногда запускает SON.exe в качестве своего дочернего элемента и в контексте службы --- и иногда SON.exe запускается не DAD, а Пользователь.

SON.EXE будет использовать API whoami (), чтобы узнать, в каком контексте он работает.

Теперь DAD может создать переменную среды - а затем SON может проверить эту переменную - и если обнаружит, что он сын DAD и, таким образом, работает как служба ..... Но это слабо ...

Еще одна идея - взглянуть на мой SID или токен и посмотреть, смогу ли я сделать это определение ... Опять же это выглядит лучше, чем простая проверка API ...

6
задан sylvanaar 30 September 2011 в 15:00
поделиться