Доброе время суток!
Кто-нибудь сталкивался с функцией CreateProcessWithLogonW (она находится в advapi.dll)? Проблема в следующем... Мне необходимо вызвать ее из Delphi. Что я делаю: описываю ее прототип (нет ее в windows.dcu), и потом делаю ее вызов. В результате вылетает ошибка в либе ntdll.dll (Access violation at adress .... in module ntdll.dll. Read of adress....)/
ниже приведены исходнички
function CreateProcessWithLogonW(
lpUsername: WideString; // user's name
lpDomain: WideString; // user's domain
lpPassword: WideString; // user's password
dwLogonFlags: DWORD; // logon option
lpApplicationName: WideString; // executable module name
lpCommandLine: WideString; // command-line string
dwCreationFlags: DWORD; // creation flags
lpEnvironment: WideString; // new environment block
lpCurrentDirectory: WideString; // current directory name
lpStartupInfo: windows.STARTUPINFO; // startup information
lpProcessInfo: windows.PROCESS_INFORMATION // process information
): boolean; external 'advapi32.dll';
.........
procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
Username, Domain, passwrd, CommandLine: WideString;
Token: DWORD;//PHanndle
start: windows.STARTUPINFO;
proc_info: windows.PROCESS_INFORMATION;
begin
Username:='User0';
passwrd:='';
CommandLine:='c:\winnt\system32\cscript.exe d:\Scripts\del_u.vbs >> user0.txt';
if not CreateProcessWithLogonW(
UserName, // user's name
Domain, // user's domain
Passwrd, // user's password
0, // logon option
'', // executable module name
CommandLine, // command-line string
windows.CREATE_DEFAULT_ERROR_MODE, // creation flags
'', // new environment block
'', // current directory name
start, // startup information
proc_info // process information
)then ShowMessage('ОБЛОМ :-(((');
end;
---
ошибка вылазит при вызове ф-ии.
Кто-нибудь сталкивался с подобной проблемой?
заранее сенькс.
|