Quiero obtener la ruta de donde se instala una aplicación. En el registro, hay una entrada que muestra la ruta de mi aplicación, vea esta captura de pantalla: http://i56.tinypic.com/2ly1l6s.jpgleer un valor en el registro C++
Quiero leer la ruta donde se encuentra mi aplicación. En otras palabras, quiero la parte C: \ Projects \ MyApplication \ MyApplication.exe. Esto es lo que estoy tratando de hacer:
HKEY hKey;
wchar_t mydata[2048];
DWORD dataLength = sizeof(mydata);
DWORD dwType = REG_SZ;
LPVOID messagecaliss;
LONG regOpenCriss = RegOpenKeyEx(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\", 0, KEY_QUERY_VALUE, &hKey);
GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, GetLastError(), NULL,(LPTSTR) &messagecaliss, 0, NULL);
if (regOpenCriss == ERROR_SUCCESS) {
RegQueryValueEx(HKEY_CURRENT_USER, "TestApplication", 0, &dwType, (BYTE*)mydata, &dataLength);
wprintf(L"%s\n", mydata);
system("PAUSE");
}
else
MessageBox(NULL,(LPCTSTR)messagecaliss,"ERROR",MB_OK|MB_ICONINFORMATION);
Esto no funciona, los caracteres no deseados se imprimen. Muchas gracias.
Puede ser útil especificar qué compilador/herramienta de desarrollo utiliza. – vsz
Uso Visual Studio C++ 2010, windows 7 –
¿Qué problema hay en la ruta desde argv []? – Andrei