パラメータつきでVCを起動するには?

解決


geo  2003-09-11 04:13:13  No: 52123

windows2000 VC6.0sp5 SDIベースで開発しています。
SDIベースでパラメータを指定して実行するとうまく動きません。
プログラム上では、
InitInstance ()内で
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
の後に
m_paramString = m_lpCmdLine;
と書いてパラメータを取得しようとしています。

このソースを「ファイル名を指定して実行」から
フルパスで、Debug内にあるexeを指定しています。
C:\XXX\\Debug\XXX.exe "aaa"
その結果、
「C:\XXX\\Debug\aaa が見つかりませんでした。」
とでてしまいます。
また、
C:\XXX\\Debug\XXX.exe /aaa
と指定すれば、/aaaがパラメータとして取り出せるのですが、
SDIベースでは"aaa"でパラメータを渡すことはできないのでしょうか。
また、本来どのようにパラメータを渡すのがベストなのでしょうか。
よろしくお願いいたします。


naga  2003-09-11 05:33:44  No: 52124

ウィザードが吐いたコードでは
ParseCommandLine(cmdInfo);
でコマンドラインを解析してcmdInfoに格納し
ProcessShellCommand(cmdInfo)
でその情報を使って処理をしてます。(今回の場合"aaa"を開こうとする)

cmdInfoのメンバ変数をクリアしてやるか
ParseCommandLineを消してやればいいと思います。


geo  2003-09-11 06:20:57  No: 52125

nagaさんありがとうございました。
ParseCommandLine(cmdInfo)をコメントにすることでパラメータを
認識することができました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加