Главная страница
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-1298927662
Sashka
2011-03-01 00:14
2011.06.05
Работа с AsyncCall


2-1298464739
Артём
2011-02-23 15:38
2011.06.05
Ограничить поле вывода


2-1294930060
Scott Storch
2011-01-13 17:47
2011.06.05
загрузка dll из ресурса


1-1256550327
Ragazor
2009-10-26 12:45
2011.06.05
Конверт string в resourcestring


4-1248431121
Игорь
2009-07-24 14:25
2011.06.05
Перечисление групп процесса