Re: вызов ShellExecute или CreateProcess в сервисах
От: Valicchh Казахстан  
Дата: 13.10.04 09:28
Оценка:
Здравствуйте, alexora, Вы писали:

A>Вот мне в сервисе NT надо вызвать свою софтину. Через что вызывать ? Я пробовал через ShellExecute — Ничего не получилось. С CreateProcess получилось вызвать софтину которая просто в файл записывает что она запустилась. Если добавить MessageBox в ней то вываливается.


Дело в том что сервисы запускаются в так называемом DeskTop0, а все пользовательские программы в DeskTop1. Ищите в MSDN -- windowstation, desktop...

То есть теоретически вы должны из сервиса (из его WindowStationXX\DesktopXX) найти Ваш (пользовательный) десктоп, получить его security_deskriptor и создать дочерний процесс в контенте вашего десктопа... Практически возможно но очень геморройно и не правильно. Сервис по определению НЕ ВЗАИМОДЕЙСТВУЕТ с пользователем (кроме как через Service Control Manager) и поэтому должен обходиться своими силами или во всяком случае не использовать графику...

Regards...
... << RSDN@Home 1.1.3 stable >>
v.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.