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

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

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

Запуск приложения от имени пользователя, Запуск приложения от имени пользователя - C++

31.01.2010, 13:37. Просмотров 840. Ответов 1
Метки нет (Все метки)

Кто-нибудь знает как из своей программы запустить приложение от имени пользователя, зная логин и пароль?
P.S. Приведите коткретный пример кода, пожалуйста(а не просто совет типа: см. в MSDN'e)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.01.2010, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запуск приложения от имени пользователя, Запуск приложения от имени пользователя (C++):

Запуск от имени пользователя - C++
Программа запущена от имени администратора, в ней присутствует запуск других программ, и по дефолту они запускаются тоже от админа, как...

Запуск приложения от имени администратора - C++
Ребята помогите пожалуйста, как можно проверить у приложение запущена она под правами админа или нет?

Запустить параллельного приложения / Запуск приложения в новом консольном окне - C++
Доброго времени суток! Хотел спросить как в коде консольного приложения запустить ещё одно консольное приложение, так чтобы оно...

Поприветствовать пользователя по имени - C++
Хотел написать программку, которая бы спрашивала ваше имя, а потом выдавала привет...!!!. Запускаю, а она работает только с числами....

Программа проверки имени пользователя - C++
Написать программный код, который ждет ввода с клавиатуры имени пользователя. После ввода программа пишет привествие. Для завершения работы...

Ввод имени файла от пользователя - C++
Как сделать так, что бы консоль запрашивал имя файла? (ну это понятно) А вот как сделать что бы создавался файл с таким именем? что бы в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
oylan
0 / 0 / 0
Регистрация: 03.09.2008
Сообщений: 20
04.02.2010, 14:42 #2
Используй функцию CreateProcessWithLogon, вот пример на VB6:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Private Const LOGON_WITH_PROFILE = &H1&
Private Const LOGON_NETCREDENTIALS_ONLY = &H2&
Private Const CREATE_DEFAULT_ERROR_MODE = &H4000000
Private Const CREATE_NEW_CONSOLE = &H10&
Private Const CREATE_NEW_PROCESS_GROUP = &H200&
Private Const CREATE_SEPARATE_WOW_VDM = &H800&
Private Const CREATE_SUSPENDED = &H4&
Private Const CREATE_UNICODE_ENVIRONMENT = &H400&
Private Const ABOVE_NORMAL_PRIORITY_CLASS = &H8000&
Private Const BELOW_NORMAL_PRIORITY_CLASS = &H4000&
Private Const HIGH_PRIORITY_CLASS = &H80&
Private Const IDLE_PRIORITY_CLASS = &H40&
Private Const NORMAL_PRIORITY_CLASS = &H20&
Private Const REALTIME_PRIORITY_CLASS = &H100&
Private Type PROCESS_INFORMATION
    hProcess As Long
    hThread As Long
    dwProcessId As Long
    dwThreadId As Long
End Type
Private Type STARTUPINFO
    cb As Long
    lpReserved As Long
    lpDesktop As Long
    lpTitle As Long
    dwX As Long
    dwY As Long
    dwXSize As Long
    dwYSize As Long
    dwXCountChars As Long
    dwYCountChars As Long
    dwFillAttribute As Long
    dwFlags As Long
    wShowWindow As Integer
    cbReserved2 As Integer
    lpReserved2 As Byte
    hStdInput As Long
    hStdOutput As Long
    hStdError As Long
End Type
Private Declare Function CreateProcessWithLogon Lib 'Advapi32' Alias 'CreateProcessWithLogonW' (ByVal lpUsername As Long, ByVal lpDomain As Long, ByVal lpPassword As Long, ByVal dwLogonFlags As Long, ByVal lpApplicationName As Long, ByVal lpCommandLine As Long, ByVal dwCreationFlags As Long, ByVal lpEnvironment As Long, ByVal lpCurrentDirectory As Long, lpStartupInfo As STARTUPINFO, lpProcessInfo As PROCESS_INFORMATION) As Long
Private Declare Function CloseHandle Lib 'kernel32' (ByVal hObject As Long) As Long
Private Sub Form_Load()
    Dim lpUsername As String, lpDomain As String, lpPassword As String, lpApplicationName As String
    Dim lpCommandLine As String, lpCurrentDirectory As String
    Dim StartInfo As STARTUPINFO, ProcessInfo As PROCESS_INFORMATION
    lpUsername = 'OtherUser'
    lpDomain = ''
    lpPassword = 'other_user_password'
    lpApplicationName = 'C:WINNTNOTEPAD.EXE'
    lpCommandLine = vbNullString 'use the same as lpApplicationName
    lpCurrentDirectory = vbNullString 'use standard directory
    StartInfo.cb = LenB(StartInfo) 'initialize structure
    StartInfo.dwFlags = 0&
    CreateProcessWithLogon StrPtr(lpUsername), StrPtr(lpDomain), StrPtr(lpPassword), LOGON_WITH_PROFILE, StrPtr(lpApplicationName), StrPtr(lpCommandLine), CREATE_DEFAULT_ERROR_MODE Or CREATE_NEW_CONSOLE Or CREATE_NEW_PROCESS_GROUP, ByVal 0&, StrPtr(lpCurrentDirectory), StartInfo, ProcessInfo
    CloseHandle ProcessInfo.hThread 'close the handle to the main thread, since we don't use it
    CloseHandle ProcessInfo.hProcess 'close the handle to the process, since we don't use it
    'note that closing the handles of the main thread and the process do not terminate the process
    'unload this application
    Unload Me
End Sub
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2010, 14:42
Привет! Вот еще темы с ответами:

Запуск от имени администратора - C++
Мне надо создать программу на С++, чтобы при ее запуске она запускалась от имени администратора. Если Вы хотите написать, что надо...

Запуск от имени администратора DEV C++ - C++
Здравствуйте. Остро встал вопрос :) о том, как сделать, чтобы при открытии программы открывалась стандартное окошко "запуск от имени...

Как создать процесс от имени другого пользователя? - C++
Подскажите, как создать процесс от имени другого пользователя? PS Как создать токен, зная логин и пароль?

Запуск программы от имени администратора (uac) - C++
Необходимо, чтобы программа запускалась от имени администратора (часть данных складывается на С). То бишь, необходимо чтобы при запуске...


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

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

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