2009-07-10 53 views
2

我正在尋找一個可以接受的將應用程序設置放入Windows機器的起點。我有多個應用程序。出於個人原因,我不想使用註冊表:我更喜歡純文本初始化文件(.ini)。我也不想將文件保存在與可執行文件相同的目錄中,理想的情況允許我將它們保留在允許用戶或系統管理員寫入的通用位置。將窗口初始化文件放在哪裏

吧,我不是一個Windows用戶,我的第一個猜想是$HOME/.my_company_name/etc/my_company_name,但有一些概念上等同於在Windows中這些地方?

只是尋找到SET輸出和猜測:

 
%APPDATA% 
%HOMEDRIVE%%HOMEPATH%\Local Settings 
%SYSTEMROOT% 

順便說一句:我還必須檢查這些變量是否還從Windows服務中存在...

回答

4

我認爲應用程序數據是什麼你要。

您可以使用SHGetFolderPath(來自SHFOLDER.DLL)以編程方式獲取此內容。

MSDN 'Data and Settings Management'(參見第4.2節 '分類和存儲應用程序數據正確'):

TCHAR szAppData[MAX_PATH]; 
… 
hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData); 

追加[company name]\[product name]\[version]到szAppData使用PathAppend

PathAppend(szAppData, "Company\Product\1.0\File.ini") 

還有CSIDL_COMMON_APPDATA爲特定的非用戶數據和CSIDL_LOCAL_APPDATA非漫遊數據(當用戶登錄到不同的計算機時不應在網絡上覆制的數據)。

+0

我同意。如果打開漫遊,該文件夾也會通過網絡與用戶漫遊。 – 2009-07-10 11:58:21

相關問題