• 締切済み

GetSaveFileNameで初期ディレクトリを設定したい(Windows Mobile)

ファイルをセーブ、ロードするにあたってGetSaveFileNameを使用しているのですが初期ディレクトリが設定できなくて困ってます。 OPENFILENAME ofn; ofn.lpstrInitialDir = L"\\Storage Card\\test001\\";で Location:には「Storage Card」が入るのですがFolder:に「test001」が入りません(test001フォルダは存在しています) L"\\Storage Card\\test001"と指定すると「test001」はファイル名として認識されてしまいます。 L"\\Storage Card\\test001\\file.txt"と指定すると設定できますがファイル名までは設定したくないです。 環境は、、、 開発 vc++ win32スマートデバイスプロジェクト SDK Windows Mobile 5.0 Pocket PC VGA Emulator です。 よろしくお願いします。

みんなの回答

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

Windows Mobile6.0 Pro でも同じ症状です ofn.lpstrFileが指す先の先頭が Null文字の場合 ofn.lpInitialDirの最後\以降をファイル名だと誤認するようです このとき Folder:には 何も設定されません

kyonto
質問者

お礼

aris-wizさん、redfox63さんありがとうございました。 残念ですがとりあえず上記の妥協案をとることにします。 もしかしたら、gsGetfile.dllを使えばいいかなと思って使い方を調べてます。 回答いただきありがとうございました。

  • aris-wiz
  • ベストアンサー率38% (96/252)
回答No.1

>L"\\Storage Card\\test001\\file.txt" これで出来るのが謎ですが。。。 パスに空白があるときはダブルクォートで囲う必要があります。 L"\"\\Storage Card\\test001\""としてみたらどうなりますか?

kyonto
質問者

補足

aris-wizさんご返答ありがとうございます。 試してみたところ Name:(ファイル名)に「test001"」と入っただけでした。 Storage CardもLocation:に入らなくて認識されていないようです。 今、妥協案としてできなかったらName:にデフォルトでなにか値を入れようか思案中です。 今日一日やってみて解決しないようであればこの案で行こうかと思います。

関連するQ&A