1 #define _DISABLE_TIDENTS
8 int main( int argc
, char **argv
) {
11 WCHAR ValueNameWC
[100];
17 printf( "Usage: regqueryvalue [key] [value]\n" );
18 printf( "Returns an HKEY_LOCAL_MACHINE value from the given key.\n" );
22 if ( RegOpenKeyExA( HKEY_LOCAL_MACHINE
, argv
[1], 0, KEY_READ
, &RegKey
)
24 printf( "Could not open key %s\n", argv
[1] );
28 for( i
= 0; argv
[2][i
]; i
++ ) ValueNameWC
[i
] = argv
[2][i
];
31 if(RegQueryValueExW( RegKey
, ValueNameWC
, NULL
, NULL
, NULL
, &ResultSize
)
33 printf( "The value %S does not exist.\n", ValueNameWC
);
37 WcharResult
= malloc( (ResultSize
+ 1) * sizeof(WCHAR
) );
40 printf( "Could not alloc %d wchars\n", (int)(ResultSize
+ 1) );
44 RegQueryValueExW( RegKey
, ValueNameWC
, NULL
, NULL
, (LPBYTE
)WcharResult
,
47 printf( "wchar Value: %S\n", WcharResult
);
50 RegQueryValueExA( RegKey
, argv
[2], NULL
, NULL
, NULL
, &ResultSize
);
52 CharResult
= malloc( ResultSize
+ 1 );
55 printf( "Could not alloc %d chars\n", (int)(ResultSize
+ 1) );
59 RegQueryValueExA( RegKey
, argv
[2], NULL
, NULL
, (PBYTE
)CharResult
, &ResultSize
);
61 printf( " char Value: %s\n", CharResult
);