Форум программистов, компьютерный форум CyberForum.ru

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

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

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

15.03.2012, 01:08. Просмотров 783. Ответов 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,...

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

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

C++ Файл на рабочем столе :)
C++ Запуск C++ Builder 4.0 из-под пользователя с ограниченными правами
Вывести список существующих на рабочем столе окон C++
Как создать ярлык на рабочем столе? C++
C++ Запуск приложения от имени пользователя, Запуск приложения от имени пользователя
C++ Как из программы сменить обои на рабочем столе?
C++ Как из службы (сервиса) в Windows 2000 узнать имя пользователя?
Запуск приложения C++
C++ Убрать значек щита с иконки программы на рабочем столе!
C++ Ошибка записи в файл на рабочем столе
C++ Запуск от имени пользователя
Создать папку на рабочем столе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 06:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru