| |
|
|
Michael Wodrich | Die API CreateProcess startet eine Anwendung.
P:L1: Adresse eines Strings oder P:B1: Bereichsvariable, in der der Name des zu startenden Programmi steht (kann 0 sein).
P:L2: Adresse eines Strings oder P:B2: Bereichsvariable, in der die Kommandozeile des zu startenden Programmi steht (Pfad, Dateiname und Parameter). Achtung! Lange Dateinamen machen hier eventuell Probleme!!!
P:B3: Bereichsvariable mit einem Security Descriptor per den zu startenden Prozess (kann 0 sein).
P:B4: Bereichsvariable mit einem Security Descriptor per den den ersten Thread des zu startenden Prozess (kann 0 sein).
P:L5: Flag per die übernahme von Handles. Kann 1 oder 0 sein.
P:L6: Flag per die Art der Erzeugung dss Prozesses (kann 0 sein).
P:L7: Zeiger auf einen neuen Block mit Umgebungsvariablen. Kann 0 sein.
P:L8: Adresse eines Strings oder P:B8: Bereichsvariable, in der das neue aktuelle Verzeichnis des zu startenden Prozesses steht (kann 0 sein)..
P:B9: 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:B10: 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.
|
|
|
| Programmieren, das spannendste Detektivspiel der Welt. | 15.11.2005 ▲ |
|
|
|