我想获得安装应用程序的路径.在注册表中,有一个条目提供了我的应用程序的路径,请参阅此屏幕截图:http: //i56.tinypic.com/2ly1l6s.jpg
我想阅读我的应用程序所在的路径.换句话说,我想要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);
Run Code Online (Sandbox Code Playgroud)
这不起作用,打印垃圾字符.非常感谢你.
你正在使用非UNICODE版本的RegQueryValueEx,并且你正在使用广角字符版本的printf.使用printf或更改为wprintf(L"%S",mydata)
注意:RegQueryValueEx(HKEY_CURRENT_USER,...)必须是RegQueryValueEx(hKey,...)
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |