コマンドラインからファイルパスを取得するには?

解決


加藤  2002-11-17 11:19:38  No: 105443  IP: [192.*.*.*]

初めまして。
コマンドラインからファイルパスを取得しようと、ヘルプに載っているGetCommandLine関数をそのまま使用していますが、この方法だとパスにスペースのあるファイルのパスはスペースで分かれてしまいます。
パスにスペースのあるファイルのパスも取得できるようにするにはどうすればよいのでしょうか?

ちなみにVB6・WindowsMEです。

編集 削除
YuO  2002-11-17 11:55:32  No: 105444  IP: [192.*.*.*]

わざわざAPI使わなくてもCommand関数というのがあるのに……。

それはともかく,パスにスペースを含むファイルを指定する場合,
パスを二重引用符で囲むのがWindowsの流儀です。
つまり,C:\Program Files\foo\bar.datをtest.exeに渡すと,
test "C:\Program Files\foo\bar.dat"
というコマンドラインになります。

基本的に二重引用符で囲まずにパラメータを渡してきた場合,
間にある空白がパラメータを分離するものか,二重引用符で囲み忘れたのかを区別するすべはありません。
なので,普通はパラメータを分離するものとして処理します。

編集 削除
加藤  2002-11-17 20:12:55  No: 105445  IP: [192.*.*.*]

解決しました。
ありがとうございました。

編集 削除