YV>Как сделать, чтобы сервис при старте получал командную строку?
YV>Задача: отличить запуск exe-шника user'ом от запуска его системой как сервиса.

Итак, командная строка ни при чем.

Нужно получить имя процесса, породившего процесс твоего экзешника. Если это не %SystemRoot%\system32\services.exe (WinNT 4.0, для W2k подскажет Alex Fedotov, я сам не помню), то мы работаем в user mode. Если же родитель процесса — services.exe (AKA SCM), то мы работаем в режиме сервиса. В системе сервисы запускает только SCM.
Автор: Игорь Вартанов    Оценить