掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CreateProcessでエラーが出るのですが (ID:41391)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
PAnsiCharとStringをそのままくっつけようとしてないでしょうか。 文字列を扱うときは、一方の型に変換します。 方法は色々ありますが、例として、元のソースに追加・変更をしました。 procedure TForm1.disp_file var filename:string; ret: Boolean; SI: TStartupInfo; // 名前を変更 ProcessInfo: TProcessInformation; cmdstr: array[0..MAX_PATH] of char; // 変数追加 begin filename:='filename.txt'; StrPCopy(cmdstr, 'C:\sample.exe '+filename); // ここでコピー ZeroMemory(@SI, SizeOf(SI)); // 構造体のクリア SI.cb := SizeOf(SI); // 構造体サイズのセット ret := CreateProcess( nil, cmdstr, // 問題の個所 nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, SI, // 名前を変更 ProcessInfo ); // もし、起動したプロセスをハンドリングする必要がなければ、このあとプロセス起動に使用したハンドルを閉じます。 CloseHandle(ProcessInfo.hThread); CloseHandle(ProcessInfo.hProcess); end; こんな感じでどうでしょうか。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.