0
我有一個基於對話框的程序。它有一個我從用戶那裏獲得輸入的編輯框。我必須使用REG_SZ以二進制形式(utf-8 HEXA)使用REG_BINARY將輸入unicode字符串寫入註冊表中的兩種形式,字符串形式。我怎樣才能做到這一點?如何以2種形式(字符串和二進制)向註冊表中寫入unicode字符串?
我有一個基於對話框的程序。它有一個我從用戶那裏獲得輸入的編輯框。我必須使用REG_SZ以二進制形式(utf-8 HEXA)使用REG_BINARY將輸入unicode字符串寫入註冊表中的兩種形式,字符串形式。我怎樣才能做到這一點?如何以2種形式(字符串和二進制)向註冊表中寫入unicode字符串?
CString txt;
m_wndEdit.GetWindowText(txt);
HKEY key;
HKEY KeySet = HKEY_CURRENT_USER;
if (ERROR_SUCCESS == RegOpenKeyExW(KeySet,_T("Software\\MyApp"),0,KEY_ALL_ACCESS,&key))
{
if (ERROR_SUCCESS ==
RegSetValueExW(key, _T("MyParamSZ"), 0,REG_SZ, (BYTE*)txt.GetString(), txt.GetLength()))
{
}
if (ERROR_SUCCESS ==
RegSetValueExW(key, _T("MyParamBIN"), 0,REG_BINARY, (BYTE*)txt.GetString(), txt.GetLength() * sizeof(WCHAR)))
{
}
RegCloseKey(key);
}
感謝您的幫助。我仍然有問題。當我將我的unicode字符串寫入註冊表時,我想以utf-8十六進制的形式編寫它,但是您的解決方案保存了hexa unicode。你對這個問題有什麼想法嗎? – ducva 2010-11-23 03:21:43