![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
запуск команд под другой учетной записью [D3, D4, D6, WinXP]
olevacho © (2004-10-27 14:09:00)Нужно запустить из своей проги внешнюю но от имени администратора на вин ХР. Как передать системе автоматически имя пользователя и пароль. Тоесть нужно сделать автоматически то, что делают когда в винде щелкают правой кнопкой мышки на значке проги и выбирают "Запустить от имени..."
Игорь Шевченко (2004-10-28 00:03:00) [1]clickmaker © (27.10.04 15:24) [1]
Вот CreateProcessAsUser он, IMHO, замучается делать
Ученик (2004-10-27 22:40:00) [2]function CreateProcessWithLogonW(
lpUsername : PWChar;
lpDomain : PWChar;
lpPassword : PWChar;
dwLogonFlags : DWord;
lpApplicationName : PWChar;
lpCommandLine : PWChar;
dwCreationFlags : DWord;
lpEnvironment : Pointer;
lpCurrentDirectory : PWChar;
var lpStartupInfo : TStartupInfo;
var lpProcessInfo : TProcessInformation
) : Bool; stdcall; external 'AdvApi32.dll';
procedure TForm1.Button5Click(Sender: TObject);
var
StartupInfo : TStartupInfo;
ProcessInfo : TProcessInformation;
begin
FillChar(StartupInfo, SizeOf(StartupInfo), 0);
StartupInfo.cb := SizeOf(StartupInfo);
if CreateProcessWithLogonW('UserName', 'DomainName', 'Password',
0, 'notepad.exe', '', CREATE_DEFAULT_ERROR_MODE, nil, nil,
StartupInfo, ProcessInfo) then begin
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread)
end else
Win32Check(False)
end;
clickmaker (2004-10-27 15:24:00) [3]CreateProcessAsUser / CreateProcessWithLogonW