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

Вниз

Службы и иже с ними   Найти похожие ветки 

 
Dimka Maslov ©   (2012-06-24 02:36) [0]

Чего то я явно делаю неправильно, вот только чего - не пойму. Имеется служба - tcp сервер, слушает порт. При приходе на сервер определённой информации требуется запустить процесс от имени пользователя. Делаю сначала LogonUser потом CreateProcessAsUser. Симптоматика следующая:
XP - процесс запускается, работает, но при сохранении файла выдаётся ошибка, при этом окна программы не рисуются.
Win7 64 - процесс даже не запускается, хотя если убрать екзешник - выдаётся ошибка, что файла нет.

Может кто сталкивался и в курсе что, где и как надо прописать, чтобы работало?


 
Cobalt ©   (2012-06-24 09:06) [1]

Надо переписывать:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb756986.aspx


 
Dimka Maslov ©   (2012-06-24 19:29) [2]


> Cobalt ©   (24.06.12 09:06) [1]


Пользовательский интерфейс мне не нужен. Мне надо запустить процесс с правами пользователя, но из службы "вторичный" процесс запускается и корректно работает только при запуске под локальной системой, тогда как ему (вторичному процессу) необходим доступ к ресурсам локальной сети с разделением прав пользователей.


 
Dimka Maslov ©   (2012-06-24 21:20) [3]

Проблема решена.
Достаточно было написать функцию

BOOL SetUserObjectFullAccess(HANDLE UserObject)
{
PSECURITY_DESCRIPTOR Sd;
SECURITY_INFORMATION Si;
Sd = LocalAlloc(LPTR, SECURITY_DESCRIPTOR_MIN_LENGTH);
InitializeSecurityDescriptor(Sd, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(Sd, TRUE, NULL, FALSE);
Si = DACL_SECURITY_INFORMATION;
BOOL Result = SetUserObjectSecurity(UserObject, &Si, Sd);
LocalFree((HLOCAL)Sd);
return Result;
}


И в промежутке между LogonUser и CreateProcessAsUser вызывать ея два раза:
SetUserObjectFullAccess(GetThreadDesktop(GetCurrentThreadId()));
SetUserObjectFullAccess(GetProcessWindowStation());



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
15-1457295903
Юрий Зотов
2016-03-06 23:25
2017.01.15
Веселые картинки


15-1455399002
Юрий
2016-02-14 00:30
2017.01.15
С днем рождения ! 14 февраля 2016 воскресенье


2-1431075632
Caxap906
2015-05-08 12:00
2017.01.15
Загрузка изображений из интернета


15-1454505647
кгшзх
2016-02-03 16:20
2017.01.15
ПДД баттл


2-1425461509
Asher
2015-03-04 12:31
2017.01.15
Сортировка дат в TStringList