Was ham wir denn alter Mann?
Windows 2000 oder höher ist erfüllt?
Der Prototyp sieht etwa so aus (insbesondere ist er als STDCALL deklariert?):
Delphi-Quellcode:
type
(* Bei Delphi 4 hat Borland noch keine Übersetzung dieser Struktur drin, dehalb
hier! Aber Achtung, die ANSI-Struct wurde mit Pointer statt mit PAnsiChar oder
PChar übersetzt für die unten aufgeführten PWideChars.
*)
STARTUPINFOW =
record
cb: DWORD;
// Achtung, ab hier ist's anders als Borland's Übersetzung
lpReserved: PWideChar;
lpDesktop: PWideChar;
lpTitle: PWideChar;
// ---- Bis hier
dwX: DWORD;
dwY: DWORD;
dwXSize: DWORD;
dwYSize: DWORD;
dwXCountChars: DWORD;
dwYCountChars: DWORD;
dwFillAttribute: DWORD;
dwFlags: DWORD;
wShowWindow: Word;
cbReserved2: Word;
lpReserved2: PByte;
hStdInput: THandle;
hStdOutput: THandle;
hStdError: THandle;
end;
function CreateProcessWithLogonW(
lpUsername,
lpDomain,
lpPassword: PWideChar;
dwLogonFlags: DWORD;
lpApplicationName,
lpCommandLine: PWideChar;
dwCreationFlags: DWORD;
lpEnvironment: Pointer;
lpCurrentDirectory: PWideChar;
var lpStartupInfo: STARTUPINFOW;
var lpProcessInfo: PROCESS_INFORMATION
): BOOL;
stdcall;
external '
advapi32.dll';
AUf Delphi 3 hat Borland noch nicht die Orginalnamen aus den Headern für Strukturen mit drin, also aufpassen und zB PROCESS_INFORMATION evtl umbenennen
Notfalls ne Mail mit Source an mich und ich schau mal drüber.