Чтение регистров
От: Аноним  
Дата: 07.03.07 15:55
Оценка:
Народ подскажите
почему у меня не выводет значение регистров?

void QueryKey(HKEY hKey) 
{
    TCHAR    achKey[MAX_KEY_LENGTH];  
    DWORD    cbName;                   
    TCHAR    achClass[MAX_PATH] = TEXT(""); 
    DWORD    cchClassName = MAX_PATH;  
    DWORD    cSubKeys=0;               
    DWORD    cbMaxSubKey;              
    DWORD    cchMaxClass;              
    DWORD    cValues;              
    DWORD    cchMaxValue;          
    DWORD    cbMaxValueData;       
    DWORD    cbSecurityDescriptor; 
    FILETIME ftLastWriteTime;      
 
    DWORD i, retCode; 
 
    TCHAR  achValue[MAX_VALUE_NAME]; 
    DWORD cchValue = MAX_VALUE_NAME; 
     
    retCode = RegQueryInfoKey(
        hKey,                   
        achClass,                
        &cchClassName,           
        NULL,                    
        &cSubKeys,               
        &cbMaxSubKey,            
        &cchMaxClass,            
        &cValues,                
        &cchMaxValue,            
        &cbMaxValueData,         
        &cbSecurityDescriptor,   
        &ftLastWriteTime);       
 
    // Enumerate the subkeys, until RegEnumKeyEx fails.
    
    if (cSubKeys)
    {
        printf( "\nNumber of subkeys: %d\n", cSubKeys);

        for (i=0; i<cSubKeys; i++) 
        { 
            cbName = MAX_KEY_LENGTH;
            retCode = RegEnumKeyEx(hKey, i,achKey,&cbName,NULL,NULL,NULL,&ftLastWriteTime); 
            if (retCode == ERROR_SUCCESS) 
            {
               _tprintf(TEXT("(%d) %s\n"), i+1, achKey);
                
            }
        }
    } 
 
    // Enumerate the key values. 

    if (cValues) 
    {
        printf( "\nNumber of values: %d\n", cValues);

        for (i=0, retCode=ERROR_SUCCESS; i<cValues; i++) 
        { 
            cchValue = MAX_VALUE_NAME; 
            achValue[0] = '\0'; 
            retCode = RegEnumValue(hKey, i,achValue,&cchValue,NULL,NULL,NULL,NULL);
 
            if (retCode == ERROR_SUCCESS ) 
            { 
                _tprintf(TEXT("(%d) %s\n"), i+1, achValue); 
            } 
        }
    }

}



08.03.07 05:26: Перенесено модератором из 'C/C++' — Павел Кузнецов
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.