Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kuza
0 / 0 / 0
Регистрация: 23.10.2006
Сообщений: 26
#1

Как из службы (сервиса) в Windows 2000 узнать имя пользователя? - C++

20.10.2010, 18:50. Просмотров 1027. Ответов 1
Метки нет (Все метки)

Есть проблема:
Как из службы (сервиса) в Windows 2000 узнать имя пользователя?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2010, 18:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как из службы (сервиса) в Windows 2000 узнать имя пользователя? (C++):

Как узнать имя текущего пользователя? - C++
Здравствуйте. Мне нужно узнать имя текущей учетной записи. Подскажите, как это сделать. Гуглю и ничего найти не могу найти.

Как узнать имя файла? - C++
Имеется что-то вроде такого кода pHttpCon = session.GetHttpConnection(szServerName); fr=pHttpCon->OpenRequest('GET',szPath); ...

Как узнать имя экземпляра класса? - C++
у меня есть класс polynom, я создаю его экземпляры polynom a(5), b(5), c(5); как мне программно узнать имя экземпляра класса?

Как узнать имя запущенного процесса - C++
Как узнать имя запущенного процесса и записать его имя в строку (LPWSTR)?

Как узнать имя exe зная его id (WinApi,c++) - C++
Пишу программу отслеживающие активность пользователя. Проблема стоит в том что не могу найти функций которая по id процесса может вывести...

Как узнать имя проекта dll без использования GetModuleFileName? - C++
Всем привет. Есть еще варианты узнать имя проекта (или самой dll) без использования GetModuleFileName? Ищу второй вариант на...

1
bazile
63 / 39 / 20
Регистрация: 15.03.2007
Сообщений: 6,910
21.10.2010, 12:40 #2
Попробуйте так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Дескриптор рабочего стола получающим ввод от пользователя
HDESK hUserDesktop = OpenInputDesktop(0, FALSE, MAXIMUM_ALLOWED);
 
//  Определяем необходимый объем памяти для SID пользователя 
DWORD dwSidLength = 0;
GetUserObjectInformation(hUserDesktop, UOI_USER_SID, NULL, 0, &dwSidLength);
 
//  Выделяем память под SID
PSID lpUserSid = (PSID)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, dwSidLength);
GetUserObjectInformation(hUserDesktop, UOI_USER_SID, lpUserSid, dwSidLength, &dwSidLength);
 
// Определяем имя пользователя по SID
LookupAccountSid( ... );
 
HeapFree(lpUserSid);
CloseDesktop(hUserDesktop);
Код я не проверял, это всего лишь идея. Кроме того в него нужно добавить проверку ошибок.

Еще имеет смысл изучить пример к функциям OpenDesktop/OpenInputDesktop в MSDN. К сожалению в online версии почему-то примера нет, так что ссылку дать не могу.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.10.2010, 12:40
Привет! Вот еще темы с ответами:

как узнать нажатие клавиши было программным или от пользователя - C++
Всем доброго времени суток. Собственно сабж. Как узнать нажал клавишу пользователь или программа, не прибегая к написанию своих дров.

Запросить у пользователя имя, фамилию, а затем вывести строку вида "фамилия, имя" - C++
С. Прата, "Язык программирования С++", 4 глава, задача 3. Напишите программу, которая запрашивает у пользователя имя, фамилию, а затем...

Как узнать Handle или PID процесса, зная его имя и класс? - C++
Как узнать Handle или PID процесса, зная его имя и класс?

Как узнать имя пользователя из ОС - MS Access
Как узнать имя пользователя из ОС в Access-е. Какую библиотеку использовать. Как узнать какие функции есть в этой библиотеке, где искать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.