要做一个win32程序,点击运行acad.exe,在开发机器上的安装路径是d:\program files\acad2000\acad.exe
用regedit搜索到注册表位置是
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\acad.exe\shell\open\command]
@="\"D:\\Program Files\\ACAD2000\\acad.exe\" \"%1\""现在要用WinExec来执行该程序,
客户机上的安装路径就未知了,
但可以从注册表上用acad.exe搜索到。请问,如何用vc代码实现?
问题问得很乱,敬请谅解!
用regedit搜索到注册表位置是
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\acad.exe\shell\open\command]
@="\"D:\\Program Files\\ACAD2000\\acad.exe\" \"%1\""现在要用WinExec来执行该程序,
客户机上的安装路径就未知了,
但可以从注册表上用acad.exe搜索到。请问,如何用vc代码实现?
问题问得很乱,敬请谅解!
LONG lRes;
TCHAR szPath[MAX_PATH] = {0};
DWORD dwBufLen = MAX_PATH;
lRes = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE\\Classes\\Applications\acad.exe\\\shell\\open\\command", &hKey);
if(lRes != ERROR_SUCCESS)
{
return ;
}
DWORD dwType = REG_SZ;
lRes = RegQueryValueEx(hKey, _T(""), NULL, &dwType, (LPBYTE)szPath, &dwBufLen);
RegCloseKey(hKey);