C/C++ code
网上转的一份参考
# 002 // \"Windows"\\"winsize" = "800*600" # 003 // 蔡军生 2007/11/05 QQ:9073204 深圳 # 004 std::wstring GetProfileString(LPCTSTR lpszSection, LPCTSTR lpszEntry, # 005 LPCTSTR lpszDefault) # 006 { # 007 // 打开应用程序键。 # 008 HKEY hAppKey = GetAppRegistryKey(); # 009 if (hAppKey == NULL) # 010 { # 011 return lpszDefault; # 012 } # 013 # 014 HKEY hSecKey = NULL; # 015 DWORD dw; # 016 # 017 // 打开子键。 # 018 RegCreateKeyEx(hAppKey, lpszSection, 0 , REG_NONE, # 019 REG_OPTION_NON_VOLATILE, KEY_WRITE | KEY_READ, NULL, # 020 & hSecKey, & dw); # 021 RegCloseKey(hAppKey); # 022 # 023 if (hSecKey == NULL) # 024 { # 025 return lpszDefault; # 026 } # 027 # 028 // 查询键值。 # 029 std::wstring strValue; # 030 DWORD dwType = REG_NONE; # 031 DWORD dwCount = 0 ; # 032 # 033 // 先查询键值的长度。 # 034 LONG lResult = RegQueryValueEx(hSecKey, (LPTSTR)lpszEntry, NULL, & dwType, # 035 NULL, & dwCount); # 036 if (lResult == ERROR_SUCCESS) # 037 { # 038 strValue.resize(dwCount); # 039 # 040 // 查询键值。 # 041 lResult = RegQueryValueEx(hSecKey, (LPTSTR)lpszEntry, NULL, & dwType, # 042 (LPBYTE)strValue.data(), & dwCount); # 043 # 044 } # 045 # 046 RegCloseKey(hSecKey); # 047 if (lResult == ERROR_SUCCESS) # 048 { # 049 return strValue; # 050 } # 051 # 052 return lpszDefault; # 053 }
网上转的一份参考