Конференция "WinAPI" » Как узнать, что приложение запущено в терминальной сессии?
 
  • DiamondShark © (04.04.08 15:50) [0]
    Или в общем виде, в сессии, отличной от локальной интерактивной.

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

    Нужно затем, чтобы приложением нельзя было пользоваться в терминале.
  • clickmaker © (04.04.08 16:35) [1]

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

    а это разве не в общем виде?
    если именно для терминала, может, через WTSEnumerateProcesses?
  • DVM © (04.04.08 17:14) [2]
    GetSystemMetrics + SM_REMOTESESSION
  • DVM © (04.04.08 17:14) [3]
    SM_REMOTESESSION = 0x1000
  • DiamondShark © (04.04.08 17:45) [4]

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

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


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

    Это как?

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

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


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

    Или так. Тоже спасибо.
  • oxffff © (04.04.08 22:09) [5]

    > DiamondShark ©   (04.04.08 15:50)  


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

    ???

    P.S. Нужно проверить.
  • oxffff © (04.04.08 22:12) [6]

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


    Либо на отсутствие в нем группы "Интерактивные". :)
 
Конференция "WinAPI" » Как узнать, что приложение запущено в терминальной сессии?
Есть новые Нет новых   [134433   +21][b:0][p:0.001]