Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Запуск прог из сервиса   Найти похожие ветки 

 
Goryn   (2006-01-28 14:15) [0]

После переделки в сервис, моя панель для запуска программ
перестала работать-

причина проги пускает под другим sexrity :)
описание ненашел ,чтоб добавить права Explorer
чтоб подним запускалось

Кривая идея - открыть папку с прогой ,
найти иконку приложения и программно
кликнуть мышью и прога запускится под Explorerом


в сервисе запускаю проги так
Start := CreateProcess(nil,
Exe,            
nil,  <-sexrity            
nil,



 
kaZaNoVa ©   (2006-01-28 16:41) [1]

запускать или через CreateProcessWithLogonW (надо знать пароль пользователя) или через внедрение DLL  в любой процесс, УЖЕ запущенный от имени пользователя и запуск проиграммы уже из той DLL (не рекомендуется).


 
kaZaNoVa ©   (2006-01-28 16:53) [2]

Goryn   (28.01.06 14:15)
права Explorer
чтоб подним запускалось

Explorer может быть запущен от имени кого угодно ..

обычно же в нормальной системе он запускается от имени текущего залогинившегося пользователя ..

как вариант можно еще попробовать сервис запускать в интерактивном режиме, но нет уверенности что это будет работать так как надо.

если же нужно именно чтобы "под Explorer" запускалось - лучший выход - добавить автозагружаемую (через реестр) DLL  в него ..


 
Goryn   (2006-01-28 18:08) [3]

>через CreateProcessWithLogonW (надо знать пароль пользователя)

пардон,незнаю пароль,я сервис

>Explorer может быть запущен от имени кого угодно ..

в данном случае текущего пользателя,
тосесть как то надо ПОНИЗИТЬ ПРАВА запускаемого процесса

Start := CreateProcess(nil,
Exe,            
nil,  <-sexrity            

ситуация напоминает мощь NT - сильные права ,но ничего нельзя сделать ))))


 
kaZaNoVa ©   (2006-01-28 18:15) [4]

Goryn   (28.01.06 18:08) [3]
ПОНИЗИТЬ ПРАВА запускаемого процесса

понизить права?) а это вообще, возможно? скорее всего надо запускать под другой учётной записью, которая и имеет другие права ..


 
kaZaNoVa ©   (2006-01-28 18:19) [5]

Goryn   (28.01.06 18:08) [3]
галочку поставить в настройке службы. (так и называется "разрешить взаимодействие с рабочим столом)

- такое пробовали?)


 
kaZaNoVa ©   (2006-01-28 18:46) [6]

исчо можно попробовать:

1)WTSEnumerateSessionsA
2)перебор хэндлов сессий и подсовывание их в WTSQueryUserToken
3)полученные UserTokens используем в CreateProcessAsUser, которая запускает
энумератор в контексте требуемого юзверь-пространства.

Учти, WTSEnumerateSessions будет выдавать валидные идентификаторы для
сессий,отличных от Console только если на сервере установлены Terminal
Services.


 
Goryn   (2006-01-29 02:09) [7]

>галочку поставить в настройке службы.

такое непробывал,хотелось программно

>исчо можно попробовать:

ага буду разбираться , копать

спасибо


 
Набережных С. ©   (2006-01-29 07:38) [8]


> kaZaNoVa ©   (28.01.06 18:46) [6]

Перебирать сессии не надо, надо использовать WtsGetActiveConsoleSessionID. И если для этого ID WTSQueryUserToken вернет ошибку, то это значит, что интерактивного пользоавтеля нет.

> WTSEnumerateSessions будет выдавать валидные идентификаторы
> для
> сессий,отличных от Console только если на сервере установлены
> Terminal
> Services

А также, если задействован Fast User Switching

> Goryn   (28.01.06 14:15)  

Вероятно, потребуется отслеживать переключения пользователей. См. WTSRegisterSessionNotification. Также учти, вся эта кухня не будет работать в системах ниже WinXP.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.045 c
5-1129377067
gde11
2005-10-15 15:51
2006.04.16
Не показываются в Instectore свойства внутреннего компонента.


15-1143298597
Sergey Masloff
2006-03-25 17:56
2006.04.16
Как преподаватели манипулируют студентами ;-)


2-1144097894
Eugem
2006-04-04 00:58
2006.04.16
Как добавить обработчик события и само событие?


2-1143713670
max1990
2006-03-30 14:14
2006.04.16
Изменение рамеров компонентов при разворачивании окна программы


2-1144121636
thread
2006-04-04 07:33
2006.04.16
Проблема с нитью