![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как узнать, что приложение запущено в терминальной сессии?
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?