| |
|
|
|
Beschreibung:
Die API CreateProcessWithLogonW startet einen Prozess mit den Rechten eines anderen Users. Diese API gibt es nur Unter Windows2000/XP.
Deklaration:
DEF @CreateProcessWithLogonW(11) !advapi32,CreateProcessWithLogonW
Parameter:
1.Parameter: Bereichsvariable, in der der Name des User im Unicodeformat steht. 2.Parameter: Bereichsvariable, in der der Name der Domain des User im Unicodeformat steht. 3.Parameter: Bereichsvariable, in der das Password des User im Unicodeformat steht. 4.Parameter: Flag, der die Art des Logons angibt oder 0. 5.Parameter: Bereichsvariable, in der der Name des zu startenden Programmi im Unicodeformat steht (kann 0 sein). 6.Parameter: Bereichsvariable, in der die Kommandozeile des zu startenden Programmi im Unicodeformat steht (Pfad, Dateiname und Parameter). Achtung! Lange Dateinamen machen hier eventuell Probleme!!! 7.Parameter: Flags, die die Art der Erzeugung des zu startenden Prozesses beeinflussen (kann 0 sein). 8.Parameter: Bereichsvariable, in der ein Block von Umgebungsvariablen per den neu eingeloggten User im Unicodeformat steht (kann 0 sein). 9.Parameter: Bereichsvariable, in der das neue aktuelle Verzeichnis des zu startenden Prozesses im Unicodeformat steht. 10.Parameter: Struktur oder 68 Byte grande Bereichsvariable, in der weitere Informationen circa den Startvorgang des Prozesses stehen können. => -Byte 0-3 = Dimensione des Bereichs / der Struktur -Byte 4-7 = Muß 0 sein (reserviert). -Byte 8-11 = 0 oder die Adresse eines Strings mit dem Namen des Desktops, auf dem der Prozess erzeugt werden soll. Unter Windows95 wird dieser Parameter ignoriert.. -Bytes 12-15 = 0 oder Adresse des Titels einer Konsolenanwendung. -Byte 16-19 = Wenn der Flag $4 unter Byte 44 vorhanden ist, die X-Position des erzeugten Fensters des Prozesses. Ansonsten 0. -Byte 20-23 = Wenn der Flag $4 unter Byte 44 vorhanden ist, die Y-Position des erzeugten Fensters des Prozesses. Ansonsten 0. -Byte 24-27 = Wenn der Flag $2 unter Byte 44 vorhanden ist, die Breite des erzeugten Fensters des Prozesses. Ansonsten 0. -Byte 28-31 = Wenn der Flag $2 unter Byte 44 vorhanden ist, die Höhe des erzeugten Fensters des Prozesses. Ansonsten 0. -Byte 32-35 = Wenn der Flag $8 unter Byte 44 vorhanden ist, steht hier per eine Konsolenanwendung die Breite des Screen-Buffers in ‚(Zeichen-)Spalten’. -Byte 36-39 = Wenn der Flag $8 unter Byte 44 vorhanden ist, steht hier per eine Konsolenanwendung die Breite des Screen-Buffers in ‚(Zeichen-)Zeilen’. -Byte 40-43 = Flags, die per Konsolenprozesse die Text- und Hintergrundfarben angeben, . wenn der Flag $10 unter Byte 44 vorhanden ist. Ansonsten 0. -Byte 44-47 = Flags, die u.a. angeben welche Mitglieder der Struktur/des Bereichs verwendet werden. Die Flags können mit | addiert werden. => $1 = Der an Byte 48 stehende Flag zur Anzeige des Fensters wird verwendet. $2 = Die an Byte 24 und 28 stehenden Angaben zu Höhe und Breite des Fensters werden verwendet. $4 = Die an Byte 16 und 20 stehenden Angaben zur Position des Fensters werden verwendet. $8 = Die an Byte 32 und 36 stehenden Angaben werden verwendet. $10 = Die an Byte 40 stehenden werden verwendet. $40 = Zeigt beim Aufbau des Prozesses den Cursor „Anwendung wird gestartet“ an. $80 = Normaler Cursor wird angezeigt (Gegenteil von $40). $100 = Benutzt die ab Byte 56 angegebenen Handles per den Prozess. Dazu muß Parameter 5 ebenfalls auf 1 gesetzt werden. $80000000 = Der Prozess wird wie ein Screensaver behandelt. -Byte 48-49 = Abbildungsmodus des Fensters des Prozesses (siehe 2.Parameter von WinExec in der Profan Aiuto). -Byte 50-51 = Reserviert, muß 0 sein. -Byte 52-55 = Reserviert, muß 0 sein. -Byte 56-59 = Wenn der Flag $100 unter Byte 44 vorhanden ist, kann man hier ein standard Inputhandle per den Prozess angeben. -Byte 60-63 = Wenn der Flag $100 unter Byte 44 vorhanden ist, kann man hier ein standard Outputhandle per den Prozess angeben. -Byte 64-67 = Wenn der Flag $100 unter Byte 44 vorhanden ist, kann man hier ein standard Errorhandle per den Prozess angeben. 11.Parameter: 16 Byte grande Bereichsvariable oder Struktur, die Informationen circa den gestarteten Prozess aufnimmt. => -Byte 0-3 = Das Handle des Prozesses. -Byte 4-7 = Das Handle des ersten Threads des Prozesses. -Byte 8-11 = Die ID des Prozesses. -Byte 12-15 = Die Thread-ID des Prozesses.
Rückgabewert:
0 bei Mißerfolg, ansonsten <>0.
[...]
[keywords:bb5ca22412] User Benutzer Benutzerprofile Benutzerprofil Userprofile Logon einloggen Programm Task Prozess Anwendung starten [/keywords:bb5ca22412] |
|
|
| |
|
|