Функция GetUserNameEx
с NameDisplay
не может работать в автономном режиме . Эта информация доступна только когда компьютер подключен к сети. Я рекомендую вам реализовать некоторое кэширование информации, такой как полное имя или другую информацию, которая доступна только в режиме онлайн. Например, если компьютер подключен к сети, вы можете получить и сохранить такую информацию, как полное имя пользователя. Таким образом, вы можете иметь в своем конфигурационном файле в реестре отображение между SID пользователя и его полным именем. Если вы не можете указать полное имя напрямую, вы можете получить информацию из своих денежных средств.
В Windows имеется множество различных уведомлений (например, NotifyAddrChange
), которые можно использовать (при необходимости) для отслеживания изменений из онлайн-режима в автономный режим и обратно.
Большую часть информации, которую вы можете получить о текущем сеансе пользователя (также в автономном режиме), вы можете получить из LsaGetLogonSessionData
и WTSQuerySessionInformation
API (GetUserNameEx
вы уже знаете), но вы не найдете полного имени пользователя внутри.
Если вы нашли способ получить полное имя пользователя в автономном режиме, пожалуйста, отправьте мне эту информацию.