关于NoDriveTypeAutoRun的键值

最近在写一个修改注册表的驱动,只是为了好玩,也算是一个恶搞驱动吧!

遇到一个问题,花了我差不多两天的时间的,详情往下看……

写这篇文章,为了记住这个教训,一个提供一种纠错的思路——无知真可怕

我想修改注册表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

并且添加一个键值,键值名称和键值如下:

"NoDriveTypeAutoRun"=dword:000000ff

写好整个驱动程序,编译无误,加载运行后,其他的修改项没发现什么问题,但是这个项总是出问题。

问题:键值名称可以添加,但是想把键值编程0xff(255),总是显示

为如图1:

图1

我以为是我的程序出问题了,一步一步调试。刚开始以为是字符串初始化出错,或者是函数使用错误,最后这些因素都被排除了。

于是我想了一个测试方案(结果就不截图了):

测试方法一、把键值名称换成其他字符(REG_DWORD_TEST),键值不变(255)成功修改,可以成功添加  键值名称:REG_DWORD_TEST,键值:255

测试方法二、键值名称换不变NoDriveTypeAutoRun键值改变(1000)最后成功修改,可以成功添加  键值名称:NoDriveTypeAutoRun,键值:1000

测试方法三、将一下内容写在一个txt文档,

//---------------------------------分割线---------------------------------------------------------------

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff

//---------------------------------分割线---------------------------------------------------------------

然后把这个文件命名为RegTest.reg ,双击运行 猜猜结果会怎样???如图2

图2

这足以说明一个问题,windows不可以将"NoDriveTypeAutoRun"的键值设置成:0x000000ff(255),如果设置成0xff(255),系统自动换成0xb5(181).

至于为什么,我也不清楚,待以后研究。如果看到这篇文章的你知道原因,请你一定要告诉我,先谢谢了

先结束explorer.exe,再运行explorer.exe,最后运行RegTest.reg,奇怪的是修改成功了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章