用C语言如何修改注册表的2进制值?比如修改HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主键的NoDriveTypeAutoRun的2进制键值,怎么改?有没有专门的函数?如果有是什么?头文件是什么?我要详细的程序段举例
第1个回答 2013-12-31
注册表内的所有信息都是存放在System.dat、User.dat文件中的,其中System.dat文件包含了所有的硬件信息和软件信息,User.dat 包含了用户信息。如果在系统中配置了两个或两个以上的用户,在Windows\Profile\用户名目录中还存放有各个用户的User.dat文件,这些文件都是二进制数据文件,修改注册表实际上就是对上述的三个文件进行修改。但是,我们不能对这些二进制数据文件进行直接修改,而必须要借助于注册表编辑器。注册表编辑器实际上就是我们查看和修改注册表文件的图形界面。
启动Windows XP注册表编辑器的方法是:单击“开始→运行”,在对话框中输入“regedit”,然后点击“确定”按钮,注册表编辑器就会被运行起来。它的界面和Windows 2000中的注册表编辑器很相似。
和以前的Windows相比,注册表表编辑器有了一些改变。在“编辑”菜单下,有一个“权限”菜单项,通过它,可以设置各个注册表项对于不同用户的权限。当然,你必须是管理员才可以执行此操作。
在“查看”菜单中,有一个“显示二进位数据”。通过它,可以方便的查看二进制数据的内容。
提示:你可能还记得在Windows NT/2000中,还提供了一个32位的注册表编辑器Regedt32.exe,其界面类似于早期Windows的文件管理器。在Windows XP中,虽然仍然提供了Regedt32.exe,但是Regedt32.exe实际上只是一个外壳,真正执行的还是Regedit.exe。也就是说, Windows XP已经抛弃了老版本风格的Regedt32.exe了。
启动Windows XP注册表编辑器的方法是:单击“开始→运行”,在对话框中输入“regedit”,然后点击“确定”按钮,注册表编辑器就会被运行起来。它的界面和Windows 2000中的注册表编辑器很相似。
和以前的Windows相比,注册表表编辑器有了一些改变。在“编辑”菜单下,有一个“权限”菜单项,通过它,可以设置各个注册表项对于不同用户的权限。当然,你必须是管理员才可以执行此操作。
在“查看”菜单中,有一个“显示二进位数据”。通过它,可以方便的查看二进制数据的内容。
提示:你可能还记得在Windows NT/2000中,还提供了一个32位的注册表编辑器Regedt32.exe,其界面类似于早期Windows的文件管理器。在Windows XP中,虽然仍然提供了Regedt32.exe,但是Regedt32.exe实际上只是一个外壳,真正执行的还是Regedit.exe。也就是说, Windows XP已经抛弃了老版本风格的Regedt32.exe了。
第2个回答 2013-12-31
楼上的 说了一堆也没说到正地方啊
有专用的API 可以写入注册表的 你找一个API查询器 找找相关的函数及用法
你所问的那些 查询器里都有的 你可以到百度搜索一下
有专用的API 可以写入注册表的 你找一个API查询器 找找相关的函数及用法
你所问的那些 查询器里都有的 你可以到百度搜索一下