操作系统:Window7
IDE:VS2005首先,<requestedExecutionLevel level="highestAvailable" uiAccess="false"/>这个东西我已经加了。代码如下:
CString strKey = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.txt\\UserChoice");
CRegKey regKey;
LONG lRet = regKey.Open(HKEY_CURRENT_USER,  strKey,  KEY_WRITE);
CString strRet;
strRet.Format(_T("lRet = %d"), lRet);
AfxMessageBox(strRet);
我要在win7下更改文件关联,当
CString strKey = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.txt");  或者
CString strKey = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.txt\\OpenWithList"); 或者
CString strKey = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts\\.txt\\OpenWithProgids");时,
Open函数都能执行成功,返回值为0。但是上面这段代码就是不能成功获取UserChoice键的写权限,有人知道该怎么办吗?也就是说如果能让上面这段代码执行之后跳出 lRet = 0 的提示框?我知道这是Win7的注册表操作权限问题,但是不知如何解决(当然是编程方式)。