HKEY hKey;
LONG Res1,Res2;
DWORD cData=255;
TCHAR SystemBiosVersion[255]={'\0'};
TCHAR SystemBiosDate[8]={'\0'};
TCHAR VideoBiosDate[8]={'\0'};
DWORD ProcessorFrequency;
TCHAR ProcessorNameString[255]= {'\0'};
DWORD dwType;
dwType=REG_SZ;
Res1=RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T ("HARDWARE\\DESCRIPTION\\System"),NULL, KEY_QUERY_VALUE, &hKey);
Res2=RegQueryValueEx(hKey,_T ("SystemBiosVersion"),NULL,NULL,(LPBYTE)SystemBiosVersion,&cData);
Res2=RegQueryValueEx(hKey,_T ("SystemBiosDate"),NULL,NULL,(LPBYTE)SystemBiosDate,&cData);
Res2=RegQueryValueEx(hKey,_T ("VideoBiosDate"),NULL,NULL,(LPBYTE)VideoBiosDate,&cData);
Res1=RegOpenKeyEx(HKEY_LOCAL_MACHINE,_T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0"),NULL, KEY_QUERY_VALUE, &hKey);
Res2=RegQueryValueEx(hKey,_T("~MHz"),NULL,NULL,(LPBYTE)&ProcessorFrequency,&cData);
RegQueryValueEx ( hKey, _T("ProcessorNameString"), NULL,&dwType, (LPBYTE)ProcessorNameString, &cData);
RegCloseKey(hKey);
Работа с реестром, получение имени процессора...
Код:
Возвращает всё, кроме имени процессора...Как вообще считать данные типа REG_SZ ?
и почитать что ж, мать его, возвращает GetLastError();
GetLastError() возвращает 0.
cData - размер принимающего буфера на входе, и размер строки на выходе. Если на входе мало - то и выход получим хреновый.
не догядел
спасибо!