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"でパラメータを渡すことはできないのでしょうか。
また、本来どのようにパラメータを渡すのがベストなのでしょうか。
よろしくお願いいたします。
ウィザードが吐いたコードでは
ParseCommandLine(cmdInfo);
でコマンドラインを解析してcmdInfoに格納し
ProcessShellCommand(cmdInfo)
でその情報を使って処理をしてます。(今回の場合"aaa"を開こうとする)
cmdInfoのメンバ変数をクリアしてやるか
ParseCommandLineを消してやればいいと思います。
nagaさんありがとうございました。
ParseCommandLine(cmdInfo)をコメントにすることでパラメータを
認識することができました。