Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как узнать, что приложение запущено в терминальной сессии?


DiamondShark ©   (2008-04-04 15:50:00) 

Или в общем виде, в сессии, отличной от локальной интерактивной.

Пока сделал по имени винстанции и десктопа.

Нужно затем, чтобы приложением нельзя было пользоваться в терминале.


oxffff   (2008-04-04 22:12:00) [1]


> oxffff ©   (04.04.08 22:09) [5]


Либо на отсутствие в нем группы "Интерактивные". :)


oxffff   (2008-04-04 22:09:00) [2]


> DiamondShark ©   (04.04.08 15:50)  


Посмотреть Token процесса на наличие группы
remote interactive logon.

???

P.S. Нужно проверить.


DiamondShark   (2008-04-04 17:45:00) [3]


> clickmaker ©   (04.04.08 16:35) [1]
>
> а это разве не в общем виде?

А чёрт его знает ;) Я подсознательно не доверяю методам, завязанным на имена чего-либо. А вдруг в какой другой версии они поменяются?


> может, через WTSEnumerateProcesses?

Это как?

Мне пока понравилось WTSGetActiveConsoleSessionId + ProcessIdToSessionId

А вообще, спасибо. ;) Стормозил я что-то, сразу в Terminal Services API не слазил %)


> DVM ©   (04.04.08 17:14) [2]
> GetSystemMetrics + SM_REMOTESESSION

Или так. Тоже спасибо.


DVM   (2008-04-04 17:14:00) [4]

GetSystemMetrics + SM_REMOTESESSION


DVM   (2008-04-04 17:14:00) [5]

SM_REMOTESESSION = 0x1000


clickmaker   (2008-04-04 16:35:00) [6]


> Пока сделал по имени винстанции и десктопа

а это разве не в общем виде?
если именно для терминала, может, через WTSEnumerateProcesses?


Наверх

Титульная страница Поиск, карта сайта Написать письмо