|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Запуск програм с правами администратора |
|
Запуск програм с правами администратора
|
Harkalada
Сообщения: n/a |
Вопрос : Известен пароль админа ,нуно чтоб моя програма запускалась
из под юзера с правами админа то есть мне нужен пример исходного кода. |
|
Отправлено: 15:59, 16-10-2003 |
Пользователь Сообщения: 114
|
Профиль | Отправить PM | Цитировать Вот пример на Дельфи:
Unit RunAsExt; Interface Uses Windows, SysUtils; function CreateProcessWithLogonW( lpUserName: PWideChar; lpDomain: PWideChar; lpPassword: PWideChar; dwLogonFlags: DWORD; lpApplicationName: PWideChar; lpCommandLine: PWideChar; dwCreationFlags: DWORD; lpEnvironment: Pointer; lpCurrentDirectory: PChar; const lpStartupInfo: TStartupInfo; var lpProcessInformation: TProcessInformation ): BOOL; stdcall; Function RunAs(Username, Password, Command: String): String; Implementation function CreateProcessWithLogonW; external advapi32 name 'CreateProcessWithLogonW'; Function RunAs(Username, Password, Command: String): String; Var si: TStartupInfo; pi: TProcessInformation; pUser, pPass, pDomain, pProgram: array [0..255] of WChar; LastError: DWORD; ResultString: String; Begin ZeroMemory(@si, SizeOf(si)); si.cb:=SizeOf(si); ZeroMemory(@pi, SizeOf(pi)); StringToWideChar(UserName, pUser, 255); StringToWideChar(PassWord, pPass, 255); StringToWideChar('', pDomain, 255); StringToWideChar(Command, pProgram, 255); CreateProcessWithLogonW( pUser, pDomain, pPass, 1, //LOGON_WITH_PROFILE, pProgram, nil, CREATE_DEFAULT_ERROR_MODE or CREATE_NEW_CONSOLE or CREATE_NEW_PROCESS_GROUP or CREATE_SEPARATE_WOW_VDM, nil, nil, si, pi ); LastError:=GetLastError; Case LastError of 0: ResultString:='Success!'; 86: ResultString:='Wrong password'; 1326: ResultString:='Wrong username or password'; 1327: ResultString:='Logon failureЧuser account restriction'; 1385: ResultString:='Logon failureЧthe user has not been granted the requested logon type at this computer.'; 2: ResultString:='File not found'; 5: ResultString:='Acced denied'; else ResultString:='Error '+IntToStr(LastError); end; Result:=ResultString; End; END. |
------- Отправлено: 09:54, 17-10-2003 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - Как автоматизировать запуск с правами администратора для отдельной программы? | mar1boro | Microsoft Windows 2000/XP | 1 | 18-03-2008 12:29 | |
Доступ - [решено] запуск с правами администратора без такового | p0dles | Microsoft Windows 2000/XP | 5 | 25-10-2007 15:22 | |
Пользователь с правами администратора | treiber | Microsoft Windows 2000/XP | 2 | 06-03-2007 20:13 | |
Win98. Запуск программы с правами администратора | Medj | Microsoft Windows 95/98/Me (архив) | 11 | 27-10-2005 08:01 | |
ICQ с правами Администратора | n3rf | Microsoft Windows 2000/XP | 17 | 07-12-2004 12:07 |
|