Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Ryabinin313
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 71
#1

Запуск приложения на рабочем столе пользователя из сервиса(win7) - C++

15.03.2012, 01:08. Просмотров 831. Ответов 0
Метки нет (Все метки)

Здравствуйте! Был сервис который при старте системы запускал процесс, в win7 все работало не так как хотелось из-за того что сервисы в нулевой сессии.

Делаю следующее:

1. Подписал сервис на события SERVICE_ACCEPT_SESSIONCHANGE.
2. Как только пользователь залогинится(сообщение WTS_SESSION_LOGON), получаю id сессии и token пользователя:

WTSSESSION_NOTIFICATION strSession;
HTOKEN hToken;
CopyMemory(&strSession, eventData, sizeof(WTSSESSION_NOTIFICATION));
WTSQueryUserToken((DWORD)strSession.dwSessionId, &hToken);

3. Запускаю процесс от имени этого пользователя:

CreateProcessAsUser(hToken,...

Этого достаточно чтобы запустить процесс на рабой станции зашедшего пользователя(именно того который зашел локально) и на его десктопе? Если нет, не могли бы расписать решение на примере? А то из того что находил в интернете накопал только то что описал выше...

Спрашиваю, а не пробую потому, что сервис это часть большой программы и чтобы все собрать нужно очень много времени и моих знаний не достаточно чтобы это сделать( Хочу быть уверен что все будет работать...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2012, 01:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запуск приложения на рабочем столе пользователя из сервиса(win7) (C++):

Запуск приложения от имени пользователя, Запуск приложения от имени пользователя - C++
Кто-нибудь знает как из своей программы запустить приложение от имени пользователя, зная логин и пароль? P.S. Приведите коткретный пример...

Файл на рабочем столе :) - C++
Пытаюсь создать файл на рабочем столе, прежде проверяю есть ли он там :) необходимые функции bool FileExists(const char *fname) { ...

Создать папку на рабочем столе - C++
Добрый день подскажите как создать папку на рабочем столе. На своем рабочем столе я создал папку а вот как теперь сделать чтобы программа...

Ошибка записи в файл на рабочем столе - C++
Пытаюсь записать предложение на файл созданный на рабочем столе но не получается #include <fstream> using namespace std; int...

Как создать ярлык на рабочем столе? - C++
Как создать ярлык на рабочем столе(MFC, API, но желательно не COM...)?

Как из программы сменить обои на рабочем столе? - C++
Собственно, сабж!:) Даже не знаю, где копать. Поверхностный взгляд на MSDN никаких идей не принес:(

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2012, 01:08
Привет! Вот еще темы с ответами:

Вывести список существующих на рабочем столе окон - C++
Пожалуйста помогите в решение данной проблемы. Вот задание: вывести в консольное приложение список существующих на рабочем столе окон....

Убрать значек щита с иконки программы на рабочем столе! - C++
Здравствуйте! Устанавливаю программу, создаю значок на рабочем столе. windows 7 ставит на мой ярлык еще значок щита. Как обойти программно...

Как из службы (сервиса) в Windows 2000 узнать имя пользователя? - C++
Есть проблема: Как из службы (сервиса) в Windows 2000 узнать имя пользователя?

Как восстановить значки на рабочем столе Win7? - Windows 7
При установке нового оборудования все ярлыки на рабочем столе заменились на один инетовский ярлык, на панели инструментов то же самое, как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.