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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Исправить код,чтобы использовались и указатели.(С++) http://www.cyberforum.ru/cpp-beginners/thread519149.html
Решить эту задачу через указатели #include<stdio.h> #include<time.h> #include<stdlib.h> #include<iostream> #define S 30 int main() { int A,B,i, j,k,tmax,ti; srand (time(NULL));
C++ Указатели сделать прогу с динамическим выделением памяти, передачей параметров в функцию через указатели, и возвращение результатов через указатели http://www.cyberforum.ru/cpp-beginners/thread519142.html
C++ Строковое дерево
как написать код,нахождения минимального элемента последовательности с помощью строкового дерева.
Массив одномерный C++
/*размерность массива - 30 диапазон значений (-20,20) определить какое абсолютное значение встречается в массиве чаще остальных*/ Не пойму что не так! #include <stdio.h> #include <string.h>...
C++ Задача на массив и указатели.(массив из случайных чисел) http://www.cyberforum.ru/cpp-beginners/thread519112.html
Найти абсолютное значение,которое чаще остальных встречается в массиве. #include<stdio.h> #include<time.h> #include<stdlib.h> #include<iostream> int main() { int A,i, j,k ; srand...
C++ Выбор компилятора из двух конкретных вариантов. Добрый вечер всем. Я изучаю программирование на Си, по книге: "Язык программирования С" Брайан Керниган, Деннис Ритчи. Кстати, удивлен был увидеть её на прилавке, и как увидел купил). Так вот там на... подробнее

Показать сообщение отдельно
Ryabinin313
2 / 2 / 0
Регистрация: 25.09.2010
Сообщений: 71

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

15.03.2012, 01:08. Просмотров 824. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru