社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

特別なフォルダの"新しい"取得方法 - Windows Vista

Windows Vista Beta2がリリースされたのでインストールされた方はご存知だと思いますが、
"Documents and Settings" が "Users" に変更されたのを筆頭に、特別なフォルダ構成が
大きく変更されています。

これらのフォルダのパスをハードコーディングするのではなく SHGetSpecialFolderPath や
SHGetSpecialFerderLocation API を適切に使用していれば特に問題は発生しないハズです。

Windows Vista では、それらのAPIの他に、SHGetKnownFolderIDList や SHGetKnownFolderPath
そして、 SHGetFolderLocationEx というAPI が新しく追加されるようです。
これらのAPIでは、フォルダの識別子がCSIDL (int) から、FOLDERID (GUID) に変更されています。

FOLDERID には、ダウンロード・フォルダ等のVistaで追加されたフォルダだけではなく、
今まできちんと定義されていなかったフォルダも定義されているようです。
興味のある方は、Windows SDK をインストールして KnownFolders.h を見てみるとよいでしょう。

#Windows Installer 4.0 でも、ちゃんと対応するんだよなあ?


■SHGetKnownFolderIDList - MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetknownfolderidlist.asp

■SHGetKnownFolderPath - MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetknownfolderpath.asp

■SHGetFolderLocationEx Function - MSDN
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shgetfolderlocationex.asp

投稿日時 : 2006年6月5日 16:32


コメントを追加

#  re: 特別なフォルダの"新しい"取得方法 - Windows Vista 2006年6月5日 16:59 とっちゃん

http://msdn.microsoft.com/library/en-us/msi/setup/what_s_new_in_windows_installer_version_4_0.asp

によると、System Folder Properties は変更なしのようです。

Ex 使うようになるみたいですけどね(^^;;

#  re: 特別なフォルダの"新しい"取得方法 - Windows Vista 2006年6月5日 17:14 社本@ワック

> Ex 使うようになるみたいですけどね(^^;;

確かに、そんなこと書いてありますねえ。
でも、FolderID(GUID)ベースに変わらないということは新しい特別なフォルダがサポートされないってことですね。。

#  re: 特別なフォルダの"新しい"取得方法 - Windows Vista 2006年6月5日 17:26 とっちゃん

>でも、FolderID(GUID)ベースに変わらないということは新しい特別なフォルダがサポートされないってことですね。。

です。
この辺は必要なら、Custom Action かけってところなのでしょう。

今までも My Pictures とかはサポートしていなかったので
そういう意味では、現状維持ということかと...

新SDKは全然ノーチェックのままなので、新しいところがどこかはチェックしてないんですけどね(^^;
タイトル
名前
URL
コメント