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

Вниз

в терминальной сессии - найти окно по классу   Найти похожие ветки 

 
Danger ©   (2009-07-22 10:11) [0]

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

Вот здесь уже обсуждалось: http://delphimaster.net/view/4-1239955786/ попробовал, как описано - нифига не работает. Непонятно, как получить Desktop терминальной сессии ( WTSEnumerateSessions() перечисляет лишь имена сессий, но не windows stations). Максимум, могу получить список процессов терминальной сессии - но по ним же я не могу получить список окон, созданных этими процессами?

Кто знает, посоветуйте, пожалста..


 
clickmaker ©   (2009-07-23 18:17) [1]

WTS_SESSION_INFO::pWinStationName
OpenWindowStation
EnumDesktops
EnumDesktopWindows


 
Danger ©   (2009-07-24 06:23) [2]

Нет, так работать не будет.
Не верьте описанию WTS_SESSION_INFO::pWinStationName - оно возвращает имя сессии, но не window station терминальной сессии.


 
brother ©   (2009-07-24 09:39) [3]

> WTS_SESSION_INFO::pWinStationName

она и должна отдавать имя сессии


 
clickmaker ©   (2009-07-24 11:37) [4]

а что такое "имя сессии"? как оно выглядит?


 
Danger ©   (2009-07-24 13:07) [5]


> brother ©   (24.07.09 09:39) [3]
> > WTS_SESSION_INFO::pWinStationName
> она и должна отдавать имя сессии

Да, но название сбивает с толку, и многие думают что это "windows station"


> clickmaker ©   (24.07.09 11:37) [4]
> а что такое "имя сессии"? как оно выглядит?

Например, так: RDP-Tcp#5491


 
clickmaker ©   (2009-07-24 14:03) [6]

\Sessions\<SessionID>\Windows\WindowStations\WinSta0 ?


 
Danger ©   (2009-07-24 14:33) [7]

это имя windows station, или еще что-то? (путь в реестре?)


 
clickmaker ©   (2009-07-24 15:37) [8]

> это имя windows station

да


 
Eraser ©   (2009-07-24 18:42) [9]

> [0] Danger ©   (22.07.09 10:11)

нужно в каждой терм. сессии запустить свои процессы, они соберут нужную информацию и передут в основной экземпляр процесса.



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

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

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1298571014
nord
2011-02-24 21:10
2011.06.05
ожидание выполнения процедуры


15-1297514092
NailMan
2011-02-12 15:34
2011.06.05
Наконец то я решился на это...


15-1298291672
Baks
2011-02-21 15:34
2011.06.05
Дебаггер для разных версий Delphi


2-1298361567
viktor
2011-02-22 10:59
2011.06.05
подключение к БД используя РОЛЬ


2-1298927662
Sashka
2011-03-01 00:14
2011.06.05
Работа с AsyncCall