Erzeugt einen neuen Prozess und seinen primären Thread
#include <WinAPIProc.au3>
_WinAPI_CreateProcess ( $sAppName, $sCommand, $tSecurity, $tThread, $bInherit, $iFlags, $pEnviron, $sDir, $tStartupInfo, $tProcess )
| $sAppName | Der Name des auszuführenden Moduls |
| $sCommand | Die Befehlszeile die ausgeführt werden soll |
| $tSecurity | eine $tagSECURITY_ATTRIBUTES Struktur oder einen Zeiger zu dieser, die festlegt ob das zurückgegebene Handle von Child Prozessen geerbt/übernommen werden kann. |
| $tThread | eine $tagSECURITY_ATTRIBUTES Struktur oder einen Zeiger zu dieser, die festlegt ob das zurückgegebene Handle von Child Prozessen geerbt/übernommen werden kann. |
| $bInherit | Falls TRUE, erbt der neue Prozess jedes vererbbare Handle des aufrufenden Prozesses |
| $iFlags | Flags welche die Priority Class und Erzeugung des Prozesses regeln |
| $pEnviron | Zeiger auf einen Umgebungsblock für den neuen Prozess |
| $sDir | Der vollständige Pfad zu dem Verzeichnis des Prozesses |
| $tStartupInfo | eine $tagSTARTUPINFO Struktur oder einen Zeiger zu dieser |
| $tProcess | eine $tagPROCESS_INFORMATION Struktur oder einen Zeiger zu dieser Die Konstanten sind in "APIProcConstants.au3" definiert. |
| Erfolg: | True |
| Fehler: | False. Es ist _WinAPI_GetLastError() aufzurufen um erweiterte Fehlerinformationen zu erhalten. |
$tagPROCESS_INFORMATION, $tagSECURITY_ATTRIBUTES, $tagSTARTUPINFO
Suche nach CreateProcess in der MSDN Bibliothek.
#include <StructureConstants.au3>
#include <WinAPIError.au3>
#include <WinAPIProc.au3>
Local $tProcess = DllStructCreate($tagPROCESS_INFORMATION)
Local $tStartup = DllStructCreate($tagSTARTUPINFO)
If _WinAPI_CreateProcess('', @SystemDir & '\notepad.exe', 0, 0, 0, $CREATE_NEW_PROCESS_GROUP, 0, 0, $tStartup, $tProcess) Then
ToolTip("Waiting notepad Closing")
ProcessWaitClose(DllStructGetData($tProcess, 'ProcessID'))
Else
_WinAPI_ShowLastError()
EndIf