Текущий архив: 2003.07.17;
Скачать: CL | DM;
ВнизCreateProcessWithLogonW Найти похожие ветки
← →
DmitryDDR (2003-05-15 07:40) [0]В чем проблемма? Программа просто ничего не делает, код ошибки 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;
← →
Внук (2003-05-15 08:52) [1]Попробуй
showmessage(SysErrorMessage(getlasterror));
← →
SeF (2003-05-15 09:24) [2]>
name "CreateProcessWithLogonW";
название подсказывает что надо использовать PWideChar а не PChar.
← →
ZZ (2003-05-15 10:39) [3]Без комментариев
procedure TForm1.Button1Click(Sender: TObject);
var p : PChar;
begin
p:="test";
MessageBox(0,@p,"test",0);
MessageBox(0,p,"test",0);
end;
← →
Lord Warlock (2003-05-15 11:13) [4]Эта функция в основном аналогична 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);
← →
DmitryDDR (2003-05-15 11:17) [5]To ZZ, SeF:
Ребят, огромное спасибо. Все работает!
Страницы: 1 вся ветка
Текущий архив: 2003.07.17;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.008 c