//试验证明这样调试时没有错误了,但是根本写不了注册表 ( 网上提到) 使用的是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('/', '\\'); 文件 //m_FileTransMainWnd->RegSettings = new QSettings("HKEY_CLASSES_ROOT\\*\\shell\\RYFileTranClient", QSettings::NativeFormat); //m_FileTransMainWnd->RegSettings->setValue(NULL,m_FileTransMainWnd->m_strRighttext); //m_FileTransMainWnd->RegSettings = new QSettings("HKEY_CLASSES_ROOT\\*\\shell\\RYFileTranClient\\command", QSettings::NativeFormat); //m_FileTransMainWnd->RegSettings->setValue(NULL,strValue);
qsettings删除注册表_win7-64位系统用QSettings写注册表
最新推荐文章于 2023-03-04 16:34:37 发布
在64位Windows 7系统中,使用QSettings写注册表时遇到问题。文章介绍了取消文件重定向的方法,并提供了解决调试时提示空键错误的方案,通过将键值设为'.'成功写入HKEY_CLASSES_ROOT下的系统右键菜单项。
摘要由CSDN通过智能技术生成