#include <windows.h> #include <stdio.h> void Wide2Bytes(char* pBytes,TCHAR* pWide); void main() { HKEY hKey; TCHAR SubKeyName[]= TEXT("SOFTWARE\\WebSec"); TCHAR ValueName[]= TEXT("Install"); LONG retVal; TCHAR ValueData[1024]; char Data[1024]; DWORD Buffer; //打开 if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,SubKeyName,0,KEY_READ,&hKey)!= ERROR_SUCCESS) { printf("Error: Regedit cannot be opened! "); } else { if(RegQueryValueEx(hKey,ValueName,0,NULL,ValueData,&Buffer) == ERROR_SUCCESS) { Wide2Bytes(Data,ValueData); printf("\n%s,%d,%d\n",Data,strlen(Data),Buffer); RegCloseKey(hKey); } else { printf("failed!"); } } } void Wide2Bytes(char* pBytes,TCHAR* pWide)//TCHAR* -> CHAR* { int nLen,i; nLen = WideCharToMultiByte(CP_ACP,0,pWide,-1,NULL,0,NULL,NULL); i = (int)wcslen(pWide)*sizeof(TCHAR); WideCharToMultiByte(CP_ACP,0,pWide,-1,pBytes,nLen,NULL,NULL); }