Creates a new process and its primary thread
#include <WinAPIProc.au3>
_WinAPI_CreateProcess ( $sAppName, $sCommand, $tSecurity, $tThread, $bInherit, $iFlags, $pEnviron, $sDir, $tStartupInfo, $tProcess )
| $sAppName | The name of the module to be executed |
| $sCommand | The command line to be executed |
| $tSecurity | a $tagSECURITY_ATTRIBUTES structure or a pointer to it that determines whether the returned handle to the new process can be inherited by child processes. |
| $tThread | a $tagSECURITY_ATTRIBUTES structure or a pointer to it that determines whether the returned handle to the new thread can be inherited by child processes. |
| $bInherit | If True, each inheritable handle in the calling process is inherited by the new process |
| $iFlags | Flags that control the priority class and creation of the process |
| $pEnviron | Pointer to the environment block for the new process |
| $sDir | The full path to the current directory for the process |
| $tStartupInfo | a $tagSTARTUPINFO structure or a pointer to it |
| $tProcess | a $tagPROCESS_INFORMATION structure or a pointer to it Constants are defined in APIProcConstants.au3 |
| Success: | True |
| Failure: | False, call _WinAPI_GetLastError() to get extended error information |
$tagPROCESS_INFORMATION, $tagSECURITY_ATTRIBUTES, $tagSTARTUPINFO
Search CreateProcess in MSDN Library.
#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