Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

CreateProcessWithLogonW [D5, D6, D7, WinXP]


DmitryDDR ©   (2003-05-15 07:40:00) 

В чем проблемма? Программа просто ничего не делает, код ошибки 1326.
var
si: STARTUPINFO;
pi: PROCESS_INFORMATION;

function CreateProcessWithLogon(lpUsername:LPCWSTR; lpDomain:LPCWSTR; lpPassword:LPCWSTR; dwLogonFlags:DWORD;
lpApplicationName:LPCWSTR; lpCommandLine:LPWSTR; dwCreationFlags:DWORD; lpEnvironment:Pointer; lpCurrentDirectory:LPCWSTR;
lpStartupInfo:Pointer; lpProcessInfo:Pointer):BOOL; stdcall; external "advapi32.dll" name "CreateProcessWithLogonW";

implementation

procedure TForm1.Button1Click(Sender: TObject);
var
d,l,p,n,c,cd:PChar;
f: Cardinal;
begin
ZeroMemory(@si,sizeof(si));
si.cb:=SizeOf(si);
si.wShowWindow := SW_SHOWNORMAL;
n := "aaa.exe";
c := "c:\aaa.exe";
cd := "c:\";
d := ".";
l := "xxx";
p := "xxx";
f := CREATE_NEW_CONSOLE;
CreateProcessWithLogon(@l, @d, @p, 0, @n, @c, f, nil, @cd, @si, @pi);
showmessage(inttostr(getlasterror));
end;


DmitryDDR   (2003-05-15 11:17:00) [1]

To ZZ, SeF:

Ребят, огромное спасибо. Все работает!


Lord Warlock   (2003-05-15 11:13:00) [2]

Эта функция в основном аналогична CreateProcess. Нужно делать примерно так:

var d,l,p,n,c,cd:WideChar;
...
d := ".";
...

CreateProcessWithLogon(PWideChar(l), PWideChar(d), PWideChar(p), 0, nil, PWideChar(c), f, nil, nil, si, pi);


ZZ   (2003-05-15 10:39:00) [3]

Без комментариев

procedure TForm1.Button1Click(Sender: TObject);
var p : PChar;
begin

p:="test";

MessageBox(0,@p,"test",0);
MessageBox(0,p,"test",0);

end;


SeF   (2003-05-15 09:24:00) [4]

> name "CreateProcessWithLogonW";
название подсказывает что надо использовать PWideChar а не PChar.


Внук   (2003-05-15 08:52:00) [5]

Попробуй
showmessage(SysErrorMessage(getlasterror));


Наверх

Титульная страница Поиск, карта сайта Написать письмо