CreateProcess |
Declare Function Api_CreateProcess& Lib "kernel32" Alias "CreateProcessA" (ByVal aNm$, ByVal cLn$, prAt As SECURITY_ATTRIBUTES, thAt As SECURITY_ATTRIBUTES, ByVal Hnd&, ByVal Flg&, Env As Any, ByVal cDir$, sInf As STARTUPINFO, pInf As PROCESS_INFORMATION) |
||||||||||||||||||||||||||||||||||
Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As SECURITY_ATTRIBUTES, lpThreadAttributes As SECURITY_ATTRIBUTES, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDirectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long |
|||||||||||||||||||||||||||||||||||
新しい 1
個のプロセスと、そのプライマリスレッドを作成する。新しいプロセスは、指定された実行可能ファイルを実行する。 |
|||||||||||||||||||||||||||||||||||
パラメータ 部分的な名前を指定した場合、この関数は、カレントドライブとカレントディレクトリを使ってファイル指定を完成させる。
この関数は、検索パスを利用しない。
システムはこのコマンドラインの最後に NULL を追加し、必要に応じて文字列を切り捨て、実際にどのファイルを使うのか指定する。
CreateProcessW 関数は失敗する。
ンとして扱われる。 ュール名、*lpCommandLine はコマンドラインを意味する。新しいプロセスは GetCommandLine 関数を使って、コマンドライン全体を取得
できる。C のランタイムプロセスは、argc と argv の各引数を利用できる。 ペースより左側)がモジュール名を意味する。長いファイル名の一部として半角スペースを使っている場合、引用符を使ってファイル名を囲 み、ファイル名の終了位置と引数の開始位置を明示すること。ファイル名の一部として拡張子を指定しなかった場合、.exe が追加される。 ファイル名の最後が 1 個のピリオド(.)で終わっていて拡張子が含まれていない場合や、ファイル名にパスが含まれている場合、.exe は
追加されない。ファイル名にパスが含まれていなかった場合、Windows は次の順序で実行可能ファイルを検索する。
このディレクトリの既定の名前は、SYSTEM32 である。
SearchPath 関数の検索対象になる。このディレクトリの既定の名前は、SYSTEM である。
このディレクトリの既定の名前は、SYSTEM32 である。 この構造体で、子プロセスが、取得したハンドルを継承できるかどうかを指定する。このパラメータで NULL を指定すると、取得したハンド
ルを継承できない。
述子を指定する。このパラメータで NULL を指定すると、既定のセキュリティ記述子がプロセスに適用される。 この構造体で、子プロセスが、取得したハンドルを継承できるかどうかを指定する。
このパラメータで NULL を指定すると、取得したハンドルを継承できない。 TRUE を指定すると、呼び出し側プロセス内で開いている、継承可能なハンドルは、新しいプロセスへ継承される。
継承されたハンドルは、元のハンドルと同じ値とアクセス権を持つ。 プロセス作成に関する制御フラグは、特に注意がない場合、次の値の任意の組み合わせで指定できる。
lpEnvironment
lpCurrentDirectory 報が格納される。 |