Sean's Note: [MFC] 將使用者設定儲存到 Key 裡

2012年6月20日 星期三

[MFC] 將使用者設定儲存到 Key 裡

通常一個較好的使用者介面,會在程式關閉時,將使用者的狀態紀錄到系統裡,

等下次使用者開啟軟體時,再將狀態讀出,顯示使用者關閉前的狀態,

而我們可以透過幾個 Windows API 做到這樣的功能。

CWinApp::GetProfileInt
CWinApp::GetProfileString
CWinApp::WriteProfileInt
CWinApp::WriteProfileString

原本這些 API 會將狀態寫到 C:\Windows\XXX.INI 裡,也從這裡讀,

但在 MSDN 上已說這不是個好的方式,建議存放到 Registry Key 裡。


透過 SetRegistryKey(LPCTSTR lpszRegistryKey) 可以指定存放到 Registry Key 而非 INI 檔。


存放的路徑如下:
HKEY_CURRENT_USER\Software\<company name>\<application name>\<section name>\<value name>.


其實 SetRegistryKey 就是把 CWinAp::m_pszProfileName 成員變數設成你所設定的值,

否則預設是 XXX.INI。


注意: 如果是用 Win32 API 的 WriteProfileString 寫到的則是 C:\Windows\win.ini 裡。



沒有留言:

張貼留言