![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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));