|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Имя пользователя |
|
Delphi - Имя пользователя
|
Новый участник Сообщения: 6 |
Профиль | Отправить PM | Цитировать Сделал простое описание, чтобы больше людей посетило тему.
Более конкретное описание задачи. Прежде всего хочу заметить, что уделил поиску информации в интернете много времени. Насмотрелся в интернете много разного, поэтому чтобы не было лишних комментариев - уточню один нюанс (скорее всего с вашей стороны это покажется глупым): В Windows может работать одновременно несколько пользователей (удаленный, вторичный запуск, терминал, программы, запущенные от разных локальных пользователей ...), но только ОДИН пользователь может реально (физически) сидеть за одним компьютером и что-то делать. Мне нужно узнать имя учетной записи этого пользователя из программы, которая выполняется на этом же компьютере от имени другого пользователя (например сервис). Прошу кусок рабочего кода. Со своей стороны поделюсь информацией накопленной за многие месяцы. P.S. Нашел код, который узнает имя пользователя, под которым был запущен процесс explorer.exe. В принципе этого вполне достаточно, но хотелось бы узнать или коллективно придумать более правильный способ решения данного вопроса. Классная игра слов. Думаю, поймете. |
|
Отправлено: 14:29, 19-10-2010 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать В простейшем случае все решается вызовом функции GetUserName.
Так же вынужден огорчить на компе может быть одновременно залогинено и работать несколько юзеров. Через Remote Desktop... |
------- Отправлено: 17:48, 19-10-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Ой, я тоже, дайте тоже огорчить! Эксплорер может быть и не запущен (можно прописать shell=wincmd). А может быть запущен не для текущей оконной станции (WindowStation). А чтобы до этой станции достучаться, и выяснить, чья она, нужны нехилые права (вроде система + интерактивная служба)
|
Отправлено: 20:59, 19-10-2010 | #3 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать в C# есть такая возможность посредством вызова Thread.CurrentPrincipal . Может, подобное есть и в Delphi?
http://forum.codenet.ru/showthread.php?t=23236 |
------- Отправлено: 01:14, 20-10-2010 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Изменение "Мой компьютер" на "Имя текущего пользователя на имя компьютера" | shcval | Microsoft Windows 2000/XP | 1 | 15-12-2006 21:01 | |
Имя пользователя в окне Logon не меняется после сессии другого пользователя! | MonsterMax SPB | Microsoft Windows NT/2000/2003 | 10 | 22-04-2005 11:43 | |
имя пользователя? | Guest | Microsoft Windows 2000/XP | 11 | 22-04-2005 02:31 | |
Не правильное имя пользователя..... | Guest | О сайте и форуме | 2 | 24-09-2004 08:57 | |
Имя пользователя и пароли | Irvix | Microsoft Windows NT/2000/2003 | 7 | 04-03-2003 13:04 |
|