Код (Text): #include <stdio.h> #include <windows.h> int main() { HKEY rKey; unsigned char WhereInstall[512]; DWORD WhereInstallPath = sizeof(WhereInstall); RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\7-Zip", 0, KEY_ALL_ACCESS, &rKey); RegQueryValueEx(rKey, L"Path", NULL, NULL, WhereInstall, &WhereInstallPath); RegCloseKey(rKey); printf("%s",WhereInstall); getchar(); return 0; } собираю в MinGW - читает значение, собираю в Visual Studio 2008 - выводит С и всё. Давно не сталкивался с VS, подскажите, что не так.
В VS компиляция происходит с макросом _UNICODE? Если нет, то уберите 'L' перед строками. И еще, приведите, в конце концов, все строки к одному типу: либо ascii, либо unicode.
проблема оказалась в RegOpenKeyEx(HKEY_LOCAL_MACHINE, L"SOFTWARE\\7-Zip", 0, KEY_ALL_ACCESS, &rKey); P.S. пользуйте MinGW