• 締切済み

ファイル名とホルダ名の取得

SHBrowseForFolderを使えばホルダだけを選択でき、GetOpenFileNameを使えばファイルだけを選択できます。 ファイルとディレクトリをどちらでも選択できるような関数はないでしょうか?

みんなの回答

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

GetOpenFileName は、フォルダとファイルの両方が 選択できるようです。

参考URL:
http://www.microsoft.com/JAPAN/developer/library/jpuipf/_win32_getopenfilename.htm
keyguy
質問者

お礼

どうもSHBrowseForFolderにおいてオプションでファイルを表示するを設定すればファイルも指定できそうです。

keyguy
質問者

補足

ありがとうございます。 以下のような問題が発生しました。 どうすればいいのでしょうか? ofn:オープンファイル構造体 hW:メインウィンドウハンドル s_filename:取り込むファイルネームの格納場所 memset(&ofn,0,sizeof(OPENFILENAME)); ofn.lStructSize=OPENFILENAME_SIZE_VERSION_400; ofn.hwndOwner=hW; ofn.lpstrFile=s_filename; ofn.nMaxFile=MAX_PATH; ofn.Flags=OFN_HIDEREADONLY; ofn.lpstrTitle="ファイルやディレクトリの指定"; if(GetOpenFileName(&ofn) == 0)return 0; を実行するとダイアログボックスはでるのですが ディレクトリを押すとその中を表示するだけで取り込めません。