注册表HKEY_LOCAL_MACHINE无法写入的问题

sfxyz7 2013-09-17 09:07:06
孙鑫老师第十二章文件和注册表操作在Win 7环境下 VS2010无法写入
void CJileView::OnRegWrite()
{
// TODO: Add your command handler code here
HKEY hKey;
RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\AAAA",&hKey);
RegSetValue(hKey,NULL,REG_SZ,"XXXX",strlen("XXXX"));
RegCloseKey(hKey);
}
打开注册表发现没有在HKEY_LOCAL_MACHINE\\SOFTWARE下新建项目,这是为什么?网上说与权限有关。谁能详细的解释下?



char RunStr[MAX_PATH] = "SOFTWARE\\Microsoft\\Windows\\CurrentverSion\\Run";
HKEY hResult;
RegOpenKey(HKEY_LOCAL_MACHINE, (LPCSTR)RunStr, &hResult);
RegSetValueEx(hResult, "控制服务器", 0, REG_SZ, (const unsigned char*)m_MainPath,
sizeof(char) * strlen(m_MainPath));
RegCloseKey(hResult);

此段代码可以在RunStr[MAX_PATH]下新建一个项目,但是修改RunStr[MAX_PATH] = "SOFTWARE\\AAA“;发现还是不能建立AAA,想知道该怎么做才能直接在SOFTWARE建立一个项目?
...全文
2211 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
warywwwhi 2014-07-18
  • 打赏
  • 举报
回复
权限问题。以管理员权限运行exe就OK了
七重孤独 2014-02-23
  • 打赏
  • 举报
回复
可能确实是权限问题。HKEY_CURRENT_USER下可以写入,HKEY_LOCAL_MACHINE下无法写入。
yaozhiyong110 2013-09-18
  • 打赏
  • 举报
回复
你照着书敲代码会敲错?
yaozhiyong110 2013-09-18
  • 打赏
  • 举报
回复
HKEY hKEY;//定义有关的hKEY,查询结束时关闭 LPCTSTR strKey = "Software\\AAA"; //打开根键 ::RegOpenKeyEx(/*HKEY_CURRENT_USER*/HKEY_LOCAL_MACHINE,//根键名称 NULL, //要访问的键的位置; 0, //必须为0; KEY_WRITE, //以写方式访问注册表; &hKEY); //hKEY保存此函数所打开的键的句柄。 DWORD dwDisposition; LPCTSTR lpOptions; lpOptions=NULL; //在根键下新建项 ::RegCreateKeyEx(hKEY, strKey, 0, (char *)lpOptions, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKEY, &dwDisposition); //关闭根键 ::RegCloseKey(hKEY);
oyljerry 2013-09-17
  • 打赏
  • 举报
回复
用administrator运行你的程序

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧