Различение между запуском службы Windows в рамках перезагрузки системы и остановки / запуска службы с помощью инструмента sc - PullRequest
2 голосов
/ 31 марта 2010

Как я могу различить в своем коде C ++ службу, возникающую как часть перезагрузки системы, и службу, запускаемую, поскольку пользователь остановил и запустил службу вручную в диспетчере служб или с помощью инструмента sc ????

Ответы [ 3 ]

1 голос
/ 22 мая 2010

Хорошо, в Windows NT SP4 доступен Windows uptime.exe ... или вы можете скачать его с сайта MSDN ..., который показывает время работы системы, аналогичное Unix .... Получите выходные данные времени работы .. .. если вызов к вашей Службе происходит в течение первых 10 минут после загрузки ОС, то он запускается в результате перезагрузки ОС или перезапуска службы ... это простое и понятное эвристическое решение .... Вы также используете cmd systeminfo | Найдите «Время работы», чтобы узнать время безотказной работы ....

0 голосов
/ 31 марта 2010

Если GetTickCount () не подходит для ваших целей, вы можете попробовать просканировать системный журнал событий на предмет самого последнего события запуска Windows, с которым связано время-дата ...

0 голосов
/ 31 марта 2010

Использование GetTickCount() возможно, чтобы узнать время, прошедшее с момента запуска системы ...

...