ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

フォルダ選択ダイアログの表示

フォルダ選択ダイアログを表示するため以前はSHBrowseForFolderを使っていたんだけど、MSDNによるとVista以降はIFileDialogを使うことが推奨されるらしい。

そこで、IFileDialogを使うよう、以下の通り実装した。

 

gistbfbc99d6b26024ca291f41e586f96900

なお、pDialog->Show(NULL)としているが、NULLのかわりに呼び出し元のhWndを指定してもよいようだ(MSDNより)。また、IFileDialogのインスタンスを示すCLSIDは存在しない?ようで、CoCreateInstanceではCLSID_FileOpenDialogを引数に指定している。

取得したインスタンスや、呼び出し先関数が確保したメモリは忘れずに開放すること。