Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Вниз

нужно запустить процесс под сессиями юзеров terminal services   Найти похожие ветки 

 
Makhanev Alexander   (2006-08-21 13:20) [0]

Есть win2003 server на котором развернуты windows terminal services.
Есть служба, работающая на том же сервере.

Нужно сделать так, чтобы служба могла запустить процесс под всеми существующими сессиями пользователей terminal services без relogon"а пользователя.

Пока копаю в сторону CreateProcessAsUser и получение токенов активных юзеров через LogonUser...

Может кто-то поджскажет, является ли этот путь действенным и единственным?

Буду благодарен за помощь.


 
Makhanev Alexander   (2006-08-21 20:29) [1]

может кто-то поможет?


 
Leonid Troyanovsky ©   (2006-08-21 21:00) [2]


> Makhanev Alexander   (21.08.06 13:20)  

> Нужно сделать так, чтобы служба могла запустить процесс
> под всеми существующими сессиями пользователей terminal
> services без relogon"а пользователя.


Пардон, а почему оное надо делать именно сервису,
а не к.-л. логон-скрипту, или вульгарному автостарту?

--
Regards, LVT.


 
Ketmar ©   (2006-08-21 21:13) [3]

мой телепатор подозревает, что это что-то вроде шедулера или мессенджера? так?


 
DiamondShark ©   (2006-08-21 21:49) [4]

Что значит "под всеми существующими сессиями"?

Это чтобы окошки у пользователей видны были? Если да, то в структуре STARTUPINFO есть поле lpDesktop, в котором можно указать имя десктопа, к которому привязать процесс, в формате windowstationname\desktpname.
Для каждой терминальной сессии существует отделная window station.

Пишу чисто умозрительно, т.к. серверной операционки под рукой нет, проверить, как всё это будет работать не могу.


 
Чапаев ©   (2006-08-21 22:42) [5]

Да... В MSDN ещё преогромный пример есть на использование LogonUser()+CreateProcessAsUser()+манипуляция с оконной станцией и рабочим столом, чтоб пользователь мог с ними нормально работать.


 
Makhanev Alexander   (2006-08-22 00:39) [6]


> Leonid Troyanovsky ©   (21.08.06 21:00) [2]

Автостарт при логоне есть, но дело в том, что процесс надо запускать, не дожидаясь того, когда юзер перелогинится.


> Ketmar ©   (21.08.06 21:13) [3]
>мой телепатор подозревает, что это что-то вроде шедулера или мессенджера? так?

Нет, не так. Это terminal services версия одного корпоративного софта.


> DiamondShark ©   (21.08.06 21:49) [4]
>Это чтобы окошки у пользователей видны были?

Вроде того. Мысль интересная, спасибо. Посмотрим...


> Чапаев ©   (21.08.06 22:42) [5]
>Да... В MSDN ещё преогромный пример есть на использование LogonUser( +CreateProcessAsUser()+манипуляция с оконной станцией и рабочим столом, чтоб пользователь мог с ними нормально работать.


Странно, что я не догадался покопаться в своем msdn"е. Спасибо за идею. Сейчас поищем...


 
Makhanev Alexander   (2006-08-22 11:51) [7]


> DiamondShark ©   (21.08.06 21:49) [4]


Упёрся в получение десктопов терминальных юзеров, так как:
The EnumDesktops function enumerates all desktops associated with the current window station of the calling process.

А как получить desktop по window station, пока не нашел...


 
Makhanev Alexander   (2006-08-22 11:55) [8]


> Чапаев ©   (21.08.06 22:42) [5]

Может, Вы имеете в виду статью "Starting an Interactive Client Process in C++
"?


 
DiamondShark ©   (2006-08-22 12:32) [9]


> Makhanev Alexander   (22.08.06 11:51) [7]

У вас какие-то неправильные пчёлы.

BOOL EnumDesktops(
 HWINSTA hwinsta,
 DESKTOPENUMPROC lpEnumFunc,
 LPARAM lParam
);

hwinsta
[in] Handle to the window station whose desktops are to be enumerated. This handle is returned by the CreateWindowStation, GetProcessWindowStation, or OpenWindowStation function


 
DiamondShark ©   (2006-08-22 12:45) [10]

Только что попробовал. Нормально енумеруются.


 
Чапаев ©   (2006-08-23 19:12) [11]

> [8] Makhanev Alexander   (22.08.06 11:55)

Насколько я помню, именно её.



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

Форум: "Основная";
Текущий архив: 2006.10.01;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.014 c
2-1158090558
aivar
2006-09-12 23:49
2006.10.01
Что такое контрольные суммы файлов и счем их едят! Спасибо!


1-1155977843
Strech
2006-08-19 12:57
2006.10.01
Активная форма


1-1155121635
Mishenka
2006-08-09 15:07
2006.10.01
TGifImage не хочет конвертировать файл...


15-1158071783
Furyz
2006-09-12 18:36
2006.10.01
Golodranovka Mastak Party


15-1157912513
Tar[OFF]
2006-09-10 22:21
2006.10.01
Помогите сделать принтер





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский