INDEX
[Windows]アプリケーションのデータおよび設定の管理
1  NI-Lab.  2004/08/21(Sat) 10:41
[Windows]アプリケーションのデータおよび設定の管理

設定は、レジストリかINIファイルか?
小さいアプリとか開発者向けのツールなら、INIファイルのほうがいいんだけど。

2  NI-Lab.  2004/08/21(Sat) 10:42
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnw2kcli/htm/AppSpecDesk5.asp
Windows 2000 アプリケーション仕様書(デスクトップ)
4 章 データおよび設定の管理

>4.1 ユーザーが作成したデータの保存先は、デフォルトで「マイ ドキュメント」に設定すること
>ローカル ファイル I/O を考慮したアプリケーションでは、各ユーザーに対して初めてアプリケーションが実行された場合、アプリケーションに共通の [ファイルを開く] と [保存] ダイアログを最初に呼び出したときに、[マイ ドキュメント] フォルダまたはその下位フォルダがデフォルトとして設定されていなければなりません。その後でこれらのダイアログを呼び出したときには、直前に使用されたパスにデフォルトを設定することをお勧めします。

>「マイ ドキュメント」へのパスの取得: 「マイ ドキュメント」へのパスを取得する好ましい方法は、 SHGetFolderPath APIにCSIDL_PERSONALを渡すことです。
>TCHAR szMyDocs[MAX_PATH];
>...
>hr = SHGetFolderPath(NULL, CSIDL_PERSONAL, NULL, 0, szMyDocs)

3  NI-Lab.  2004/08/21(Sat) 10:43
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnw2kcli/htm/AppSpecDesk5.asp
Windows 2000 アプリケーション仕様書(デスクトップ)
4 章 データおよび設定の管理

>SHGetFolderPath は Windows 95、Windows 98、Windows NT 4、Windows 2000 のいずれでも同じように動作します。この関数は、SHFOLDER.DLLからエクスポートされています。SHFOLDER.DLL は Windows 2000 だけではなく、Windows NT 4 Service Pack 4(以上)、Internet Explorer 5、および Windows 98 Second Editionにも含まれている新しい DLL です。SHFOLDER.DLL は、CSIDL_PERSONAL だけではなく、その他の多くの特別なフォルダに対するサポートも含む、再配布可能なコンポーネントです(付録 A、「効果的な実施」を参照してください)。SHFOLDER.DLL は、Windows Installer 再配布可能プログラム (Windows Installer redistributable) によってインストールされます。ソフトウェア ベンダーは、Windows 2000 以前の Windows オペレーティングシステムでのサポートを可能にするために、できる限りこのコンポーネントを再配布することが望まれます。Windows 2000 ではこの DLL が保護されたシステム ファイルとして含まれているため、Windows 2000 またはそれ以降のバージョンではこの DLL を置き換えることはできません。
>アプリケーションが、Windows 2000 だけでなく Windows 9x、Windows NT 4 でも確実に実行できるようにするため、必ず SHFOLDER.DLL に実装されている SHGetFolderPath にリンクします。Windows 2000 では SHELL32.DLL に SHGetFolderPath がネイティブに実装されていますが、Windows の他のバージョンでは SHELL32.DLL に SHGetFolderPath が含まれていないのです。

4  NI-Lab.  2004/08/21(Sat) 10:44
http://yokohama.cool.ne.jp/chokuto/urawaza/api/SHGetFolderPath.html
SHGetFolderPath

CSIDL_APPDATA とか CSIDL_COMMON_APPDATA のディレクトリで
設定やデータを管理したいな。

5  NI-Lab.  2004/08/21(Sat) 10:46
http://www.nakka.com/lib/
http://www.nakka.com/lib/profile/
INIファイルアクセス - 独自のINIファイルアクセス関数