как войти в систему под именем пользователя из оконной службы.когда я делаю то же самое, используя Environment.UserName, я получаю имя пользователя как «System».
спасибо, Арвинд
Вы получаете Систему, потому что ваша служба работает под Системной учетной записью.
В кодпроекте есть статья, в которой обсуждается то же самое. Проверьте это http://www.codeproject.com/KB/vb/Windows_Service.aspx
System.Diagnostics.Process[] objArrProcess = System.Diagnostics.Process.GetProcessesByName("explorer"); string strCurrentUserName = objArrProcess[0].StartInfo.EnvironmentVariables["username"];
Это работает для меня.
Отметьте эту ссылку, которая говорит о получении текущего зарегистрированного пользователя из оконной службы -
http://www.pcreview.co.uk/forums/thread-3460184.php
Взята сама ссылка сверху -
Может быть0 или более текущих зарегистрированных пользователей.Если вы хотите, чтобы все 0 или 1 пользователи, которые в настоящее время вошли в систему с консоли, тогда P / Invoke для WTSGetActiveConsoleSessionId и WTSQuerySessionInformation.Если вы хотите, чтобы все пользователи тогда вызывали WTSQuerySessionInformation в цикле.