Вы можете указать MB_SERVICE_NOTIFICATION
при вызове MessageBox()
, что будет отображать сообщение в текущем активном сеансе.
Но отображение окна сообщения из службы - это не то, что вам действительно нужно.
Сервисы должны работать в фоновом режиме и не взаимодействовать с пользователями напрямую. Одна из их характеристик заключается в том, что они могут (и часто работают), даже если ни один пользователь не вошел в систему. В Windows Vista они даже работают в совершенно другом сеансе, чем все остальные пользователи. Отображение MessageBox может привести к тому, что ваши службы будут заблокированы, потому что сообщение было вызвано в сеансе вашей службы без уведомления пользователя.
Запись в какой-либо файл журнала или использование окна EventLog является предпочтительным методом.