• ベストアンサー

特殊フォルダのパスを取得

ボタンを押すとエクスプローラでフォルダを開くという処理をしたいのですが、一部のフォルダのパスが分からず困っています。 開けないフォルダはMyComputer、コントロールパネル、ごみ箱などの仮想フォルダと呼ばれるフォルダです。 これらのフォルダにはSHGetSpecialFolderPath関数も通用しません。 どのようにすれば望みどおりの処理を実装できるのでしょうか? どなたかご教授お願いします。 <環境> Windows Vista VC++ Express Edition

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>上記の2つについてはすでに確認済みで、いずれも仮想フォルダに対しては無力でした。 エラーにもならず、ただ何の反応も無いのでしょうか? とりあえず、explorerにパラメータを渡しせば開けるようです。 http://hp.vector.co.jp/authors/VA016117/cpl.html

その他の回答 (2)

回答No.3

> MyComputer、コントロールパネル、ごみ箱などの仮想フォルダと呼ばれる... 仮想フォルダではなく「特殊フォルダ」という呼び方のほうが一般的だと思います。検索する際のキーワードのヒット率も違います。 参考URLで2種類の方法が載っています。

参考URL:
http://katsura-kotonoha.sakura.ne.jp/prog/win/tip00024.shtml
回答No.1

>これらのフォルダにはSHGetSpecialFolderPath関数も通用しません。 未確認ですが、こんな情報があります。 http://www.winapi-database.com/Program/Shell/SHGetSpecialFolderPath.html こちらは、「SHGetFoldPath」の例。 http://www.accessclub.jp/bbs/0085/beginers31281.html どちらも >&H3& 'コントロール パネル >&H11& 'マイ コンピュータ >&HA& 'ごみ箱 を渡すらしいです。

kerokk
質問者

お礼

お返事ありがとうございます。 上記の2つについてはすでに確認済みで、いずれも仮想フォルダに対しては無力でした。 なにか他の方法はないでしょうか?

関連するQ&A