我想獲取應用程序安裝位置的路徑。在註冊表中,有一個條目提供了我的應用程序的路徑,請參閱此屏幕截圖: http://i56.tinypic.com/2ly1l6s.jpg從註冊表中讀取值C++
我想讀取我的應用程序所在的路徑。換句話說,我想要C:\ Projects \ MyApplication \ MyApplication.exe部分。這是我想要做的:
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);
這不起作用,垃圾字符被打印。非常感謝你。
指定您使用的編譯器/開發工具可能很有用。 – vsz 2011-06-12 21:57:26
我使用Visual Studio C++ 2010,Windows 7 – 2011-06-12 22:05:25
來自argv []的路徑有什麼問題? – Andrei 2011-06-12 22:21:11