Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
29 / 29 / 13
Регистрация: 04.01.2013
Сообщений: 163
1

Run As

05.11.2013, 11:19. Показов 2988. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как запустить приложение из делфи от имени другого пользователя, т.е. входные параметры:

Delphi
1
2
3
4
Prog_run: string; // путь до проги
Username: string; // имя пользователя
Password: string; //пароль (обязятельно)
Domain: string; //Домен
запуск из cmd при помощи команды runas не предлагать, т.к. редко но пароль сбрасывается и приходиться заново его вводить.
Желательно реализовать это все программно, т.е. чтобы имя пользователя и пароль хранились в программном коде (все перечисленные выше параметры будут константами)

Добавлено через 22 минуты
Нашел вот такой вариант:
Delphi
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
function CreateProcessWithLogonW(user:pwidechar; domain:pwidechar; 
passw:pwidechar; flags: DWORD; lpApplicationName: PwideChar; lpCommandLine: PwideChar; 
  dwCreationFlags: DWORD; lpEnvironment: Pointer; 
  lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo; 
  var lpProcessInformation: TProcessInformation): BOOL; stdcall;
 {---- 
 external 'advapi32.dll' name 'CreateProcessWithLogonW'; 
 ---}
 
{$R *.dfm} 
 
procedure TForm1.Button1Click(Sender: TObject); 
var 
    si: TSTARTUPINFO; 
    pif: PROCESS_INFORMATION; 
begin 
  si.cb := SizeOf(tstartupinfo); 
   si.dwFlags  := STARTF_USESHOWWINDOW; 
   si.wShowWindow := SW_SHOWDEFAULT; 
   si.lpReserved := nil; 
   si.lpDesktop := nil; 
   si.lpTitle := nil; 
 
  CreateProcessWithLogonW('test', nil, 'password', 0, 
     nil, 'notepad.exe',0, nil, nil, si, pif); 
end;
на вылетает ошибка на строчке выделенной {--- ...... ---}.
ОС windows7, Delphi XE3

Добавлено через 33 минуты


перепробывал кучу вариантов, но все они обнообразные и используют advapi32.dll, в windows/system32 данная dll присутствует, но delphi выдает ошибку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.11.2013, 11:19
Ответы с готовыми решениями:

При нажатии Run-Run, комп. не производит никаких действий
При нажатии Run-Run, комп. не производит никаких действий... И ещё, огромная просьба, ПОМОГИТЕ...

Как в классе Thread реализован вызов run(), если метод run() определён в АВТОРСКОМ классе?
И, следовательно, в классе Thread ничего не известно о вызове run? То есть, ребята, мне пришла в...

LNK2019: ссылка на неразрешенный внешний символ "void __cdecl run(void)" (?run@@YAXXZ) в функции _wmain
#include "stdafx.h" #include "iostream" #include "cmath" using namespace std; class A {...

Run-error 5
Помогите найти ошибку, запускаю программу, выходит ошибка run-error 5 Sub Const Alfa = 0.3,...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,432
Записей в блоге: 8
05.11.2013, 12:04 2
Что-то у тебя с Дельфи пошло не так, проверил твой код буква в букву (только со своими user/pass), запускает Блокнот (Win7 + XE2/XE4). Хотя я бы еще обнулил структуры перед заполнением...
0
05.11.2013, 12:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2013, 12:04
Помогаю со студенческими работами здесь

Run в Word'e
здравствуйте, юзаю код: Dim objShell As Object Set objShell =...

Eclipse run
скажите мне пжалуста в ECLIPSE я незнаю отличие "run aplication" и "Java been"

jfxsa-run
При выполнении проекта выдает ошибку: ant -f /root/NetBeansProjects/xdfxdfv jfxsa-run Target...

В С++ не запускается Run(F9)
В С++ написал две программы. Не одна из них на запускается. При нажатии на "Run" появляется окно...

Cannot run a unit
Windows 7/ Turbo Pascal 7.0 После компиляции выдает ошибку - cannot run a unit. Не могу...

Создание в run time
Как правильно создавать и удалять объекты в run time? А то создаю так:...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru