CreateProcess
関数を呼び出そうとしていて、アプリケーションのパス名にスペースを含む問題があります。ドキュメントhereは、「引用符付き文字列を使用してX:\My Directory\Myexe.exe
などのパスを指定するように指示しますが、これを行う方法については何も言いません。まだ管理していないので残念です。VB6でスペースを含むパス名を区切るにはどうすればよいですか?
"""X:\My Directory\Myexe.exe"""
エラー123(不正な構文)を取得し、そして
"X:\""My Directory""\Myexe.exe"
エラー3取得(パスが見つかりません)。
誰でもこれを行う方法を知っていますか?
を編集してください。私はこれを使用して、exeパス名でさまざまな試みをしています。これは実際には機能しませんが、他の理由(まだ発見されていません)で失敗します。
Dim our_process_information As PROCESS_INFORMATION
Dim process_attributes As SECURITY_ATTRIBUTES
Dim thread_attributes As SECURITY_ATTRIBUTES
create_result = CreateProcess("X:\Myexe.exe", _
vbNull, _
process_attributes, _
thread_attributes, _
0, _
0, _
0, _
"X:\", _
startup_information, _
our_process_information)
あなたの最初の例は私に似ています。引数を渡す場合は、コマンドライン全体ではなく、二重引用符でパスをラップするだけでよいことに注意してください。もう少しコードを投稿すれば助けになるかもしれません:) – mdm
@mdm、もう少し追加しました。とにかくありがとう。 –