- 締切済み
ファイル名とホルダ名の取得
SHBrowseForFolderを使えばホルダだけを選択でき、GetOpenFileNameを使えばファイルだけを選択できます。 ファイルとディレクトリをどちらでも選択できるような関数はないでしょうか?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- taknt
- ベストアンサー率19% (1556/7783)
回答No.1
GetOpenFileName は、フォルダとファイルの両方が 選択できるようです。
SHBrowseForFolderを使えばホルダだけを選択でき、GetOpenFileNameを使えばファイルだけを選択できます。 ファイルとディレクトリをどちらでも選択できるような関数はないでしょうか?
GetOpenFileName は、フォルダとファイルの両方が 選択できるようです。
お礼
どうもSHBrowseForFolderにおいてオプションでファイルを表示するを設定すればファイルも指定できそうです。
補足
ありがとうございます。 以下のような問題が発生しました。 どうすればいいのでしょうか? 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; を実行するとダイアログボックスはでるのですが ディレクトリを押すとその中を表示するだけで取り込めません。