lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:2078回复:8

regsavekey 为什么不成功?

楼主#
更多 发布于:2005-06-20 09:16
  openStatus = RegOpenKeyEx (HKEY_LOCAL_MACHINE,
                              keyPath,
                              0,
                              KEY_ALL_ACCESS,
                              &key) ;
    if (openStatus != ERROR_SUCCESS) {
    
                     printf("failed! \n");

       } else
       {
      

              STATUS = RegSaveKey(key, FileName, NULL);
      
//              openStatus = RegLoadKey(HKEY_LOCAL_MACHINE, keyPath, FileName);

              if (STATUS == ERROR_SUCCESS)
              {
                     printf("ok! \n");
              }

       }

       RegCloseKey(key);


       return 0;

为什么总是不能返回ERROR_SUCCESS ,既调用成功呢?
 
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-20 23:07
FileName的值是什么?
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-21 11:48
指向一个文件名:如

CHAR               FileName[]="D:\\test0005";

谢谢!
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-21 11:50
HKEY               key = NULL;
    CHAR               keyPath[] = "SOFTWARE\\3721";
    LONG               openStatus,STATUS;
   CHAR               FileName[]="D:\\test0005";
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-21 16:21
Windows NT/2000/XP: If the file already exists, the function fails with the ERROR_ALREADY_EXISTS error.

Windows 95/98/Me: If the file already exists, the function fails with the ERROR_REGISTRY_IO_FAILED error.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-22 09:55
保证 文件名 不存在!

我用不同文件名
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-06-22 17:30
HANDLE htok;

       OpenProcessToken(GetCurrentProcess(),
              TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES,
              &htok);

       TOKEN_PRIVILEGES tp;
       tp.PrivilegeCount = 1;
       tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
       if ( !LookupPrivilegeValue( 0, SE_BACKUP_NAME,
              &tp.Privileges[0].Luid ) )
              return;

       TOKEN_PRIVILEGES tpOld;
       DWORD cbOld = sizeof(tpOld);
       if ( !AdjustTokenPrivileges( htok, FALSE, &tp, cbOld, &tpOld, &cbOld ) )
              return;


       HKEY       key = NULL;
       CHAR       keyPath[] = "SOFTWARE\\3721";
       LONG       openStatus,STATUS;
       CHAR       FileName[]="D:\\test0005";

       openStatus = RegOpenKeyEx (HKEY_LOCAL_MACHINE,
              keyPath, 0, KEY_ALL_ACCESS, &key);

       if (openStatus != ERROR_SUCCESS) {
              printf("failed! \n");
       }
       else
       {
              STATUS = RegSaveKey(key, FileName, NULL);
              if (STATUS == ERROR_SUCCESS)
              {
                     printf("ok! \n");
              }
       }

       RegCloseKey(key);
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-06-30 10:06
多谢了,这两天没上驱网

已搞定!

怎么没法给分了?
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2005-06-30 16:27
不客气,我也不知道怎么给分.
这个论坛改版后很不爽,我来得少多了.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
游客

返回顶部