Случается в Windows 7:Может ли один процесс сигнализировать событие, созданное другим процессом под другим именем пользователя (оба процесса работают под другим именем пользователя)?
Я установил процесс proc1.exe в сервисомах proc1, я создаю новый процесс proc2.exe путь создания идентификатора сеанса и маркера и переходя к CreateProcessAsUser().
В Proc2 я создаю одно событие, которое ждет сигнала. В Proc1 я посылаю сигнал этому событию OpenEvent и SetEvent, когда я прекращаю обслуживание.
Если я запускаю службу, proc1.exe работает под именем пользователя SYSTEM и proc2.exe работает под именем loggedin username (Taskmanager).
Когда я прекращаю обслуживание, Proc1 пытается отправить сигнал, вызвав OpenEvent. Но OpenEvent возвращает NULL.
Оба процесса работают под другим пользователем. проблема в доступе к этому событию? если да, то как сигнализировать событие под другим процессом и пользователем? PLease помогите мне узнать .....
Правильно, я забыл об атрибутах безопасности. Кроме того, не забудьте избежать обратного слэша («\\»). Когда вы открываете событие из proc1 (службы), укажите EVENT_MODIFY_STATE в качестве первого параметра для OpenEvent(). –
Спасибо вам за ответ. Я создаю такое событие, HANDLE lStopHandle = CreateEvent (NULL, FALSE, FALSE, mousestopevent); здесь мне нужно изменить следующим образом: HANDLE lStopHandle = CreateEvent (& sa_in, FALSE, FALSE, «Global \ mousestopevent»); ? – Raj
Большое спасибо ... ОК. Я использую EVENT_ALL_ACCESS в качестве первого параметра в OpenEvent() .. это нормально? и в OpenEvent также я использую имя «Global \\ name» как имя? – Raj