//试验证明这样调试时没有错误了,但是根本写不了注册表 ( 网上提到)
使用的是64位系统,64位系统有文件重定向的问题。你可以试试取消文件重定向,再修改注册表。
PVOID OldValue = NULL;
if( Wow64DisableWow64FsRedirection(&OldValue) ) //取消文件重定向
{
//添加修改注册表代码
//……
if ( FALSE == Wow64RevertWow64FsRedirection(OldValue) ) //恢复文件重定向
{
return 0;
}
}
下面是在64位系统中正确的做法:(实验证明了的)
系统右键菜单写注册表
//QString strValue = m_FileTransMainWnd->m_strAppPath+"/FYSystemRightButtonUploadU.exe %1";//系统右键菜单响应程序转发给主程序
//strValue.replace('/', '\\');
文件
使用的是64位系统,64位系统有文件重定向的问题。你可以试试取消文件重定向,再修改注册表。
PVOID OldValue = NULL;
if( Wow64DisableWow64FsRedirection(&OldValue) ) //取消文件重定向
{
//添加修改注册表代码
//……
if ( FALSE == Wow64RevertWow64FsRedirection(OldValue) ) //恢复文件重定向
{
return 0;
}
}
下面是在64位系统中正确的做法:(实验证明了的)
系统右键菜单写注册表
//QString strValue = m_FileTransMainWnd->m_strAppPath+"/FYSystemRightButtonUploadU.exe %1";//系统右键菜单响应程序转发给主程序
//strValue.replace('/', '\\');
文件