как залогиниться под именем пользователя из оконного сервиса - PullRequest
1 голос
/ 01 октября 2010

как войти в систему под именем пользователя из оконной службы.когда я делаю то же самое, используя Environment.UserName, я получаю имя пользователя как «System».

спасибо, Арвинд

Ответы [ 2 ]

2 голосов
/ 01 октября 2010

Вы получаете Систему, потому что ваша служба работает под Системной учетной записью.

В кодпроекте есть статья, в которой обсуждается то же самое. Проверьте это 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"];

Это работает для меня.

1 голос
/ 01 октября 2010

Отметьте эту ссылку, которая говорит о получении текущего зарегистрированного пользователя из оконной службы -

http://www.pcreview.co.uk/forums/thread-3460184.php

Взята сама ссылка сверху -

Может быть0 или более текущих зарегистрированных пользователей.Если вы хотите, чтобы все 0 или 1 пользователи, которые в настоящее время вошли в систему с консоли, тогда P / Invoke для WTSGetActiveConsoleSessionId и WTSQuerySessionInformation.Если вы хотите, чтобы все пользователи тогда вызывали WTSQuerySessionInformation в цикле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...