| |
|
|
Die API CreateProcessWithLogonW startet einen Prozess mit den Rechten eines anderen Users.
P:B1: Bereichsvariable, in der der Name des User im Unicodeformat steht.
P:B2: Bereichsvariable, in der der Name der Domain des User im Unicodeformat steht.
P:B3: Bereichsvariable, in der das Password des User im Unicodeformat steht.
P:L4: Flag, der die Art des Logons angibt oder 0.
P:B5: Bereichsvariable, in der der Name des zu startenden Programmi im Unicodeformat steht (kann 0 sein).
P:B6: Bereichsvariable, in der die Kommandozeile des zu startenden Programmi im Unicodeformat steht (Pfad, Dateiname und Parameter). Achtung! Lange Dateinamen machen hier eventuell Probleme!!!
P:L7: Flags, die die Art der Erzeugung des zu startenden Prozesses beeinflussen (kann 0 sein).
P:B8: Bereichsvariable, in der ein Block von Umgebungsvariablen per den neu eingeloggten User im Unicodeformat steht (kann 0 sein).
P:B9: Bereichsvariable, in der das neue aktuelle Verzeichnis des zu startenden Prozesses im Unicodeformat steht.
P:B10: 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.
P:B11: 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. Diese API gibt es nur Unter Windows2000/XP.
|
|
|
| |
|
|