2007/11/14 [水]
さて WinNT 系列の場合はそれでもよいですが、Win9x では SHGetFolderPath で返すディレクトリは WINDOWS ディレクトリの下なので、それには抵抗があります。そこで、%APPDIR% か、またはマルチユーザで使うのであれば、ユーザの指定したディレクトリを使用するのがよいかと思われます。
それを指定するには環境変数を参照するのが自然です。そこで、どの名前を使うのかが問題になります。慣習的には、Unix で使われる %HOME% が望ましいように思われるのですが、この %HOME% という環境変数は、Windows に移植された Unix 系の移植コマンド・環境で参照されていることが多く、Windows の設定ファイルを格納するのは、少し違うような気がします。そのようなことから、別の名前を使用することにします。
そこで、使用する名前として %APPDATA% を使うことにします。環境変数 %APPDATA% は以下の環境で自動的に設定されています。
OS 名 | %APPDATA% | SHGetFolderPath |
---|---|---|
Win95 | × | △ |
Win98 | × | △ |
Win98SE | × | ○ |
WinMe | × | ○ |
WinNT4 | × | △ (SP3-) ○ (SP4+) |
Win2K | ○ | ○ |
WinXP | ○ | ○ |
Vista | ○ | ○ |
%APPDATA% は Win9x 系列では自動では全く設定されていないので、もし設定してある場合、マルチユーザで使用するというよい宣言になります。また、WinNT 系列では WinNT4 を除いて自動的に設定されているので、そのまま使用することができます。
もし Win9x で %APPDATA% が設定されていないのなら、単に単一ユーザでの使用ということで %APPDIR% に格納すればよいでしょう。
by seclan
関連
- Microsoft Windows XP SP3 を公開!
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所についての検討 〜 結論
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所についての検討 〜 格納すべきサブディレクトリ
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所についての検討 〜 格納すべき基準ディレクトリ・まとめ
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所についての検討 〜 格納すべき基準ディレクトリ
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所についての検討 〜 レジストリへの格納
- Windows アプリケーションの設定ファイル (ini ファイルや config ファイル) 格納場所について 〜 まとめ