无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 1283|回复: 8
打印 上一主题 下一主题

注册表的问题!

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-26 20:06:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
注册表不可以用类似%systemroot%格式的路径吗?非要用绝对路径?

举个例子(windows在C:\):
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  3. "notepad"="C:\\windows\\notepad.exe"
复制代码
不可以用
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  3. "notepad"="%systemroot%\\notepad.exe"
复制代码
代替吗?


我想在注册表里用"%...%"这样的路径,可以吗?(第一个代码是有效的,但C:\\windows改为%systemroot%就不行了,不知道为什么)

[ 本帖最后由 different 于 2008-7-26 21:04 编辑 ]
2#
发表于 2008-7-26 20:31:09 | 只看该作者
可以啊,不过我记得xp的大多数文件在%SystemRoot%\system32下面,不过我记得好像这类的大多数的字串类型是REG_EXPAND_SZ,导出来是HEX(2)类型的(其实就是UNICODE字串,并且不是\\而是\)

[ 本帖最后由 netwinxp 于 2008-7-26 20:33 编辑 ]
回复

使用道具 举报

3#
 楼主| 发表于 2008-7-26 20:51:06 | 只看该作者
导出来是"\\"的啊,这个没错,windows文件放在哪里也不重要。

问题关键是注册表是不是不能用"%...%"这类型的路径啊?

[ 本帖最后由 different 于 2008-7-26 20:58 编辑 ]
回复

使用道具 举报

4#
发表于 2008-7-26 20:55:23 | 只看该作者
里面的值是不是可以变成这样呢?
回复

使用道具 举报

5#
 楼主| 发表于 2008-7-26 20:57:52 | 只看该作者
"%...%"可以导入,但是不起作用的,就是说注册表认不出"%...%"啦?
回复

使用道具 举报

6#
发表于 2008-7-26 23:52:29 | 只看该作者
不是说了吗,类型是REG_EXPAND_SZ(你可以看看系统哪个带%..%变量的字串没有用REG_EXPAND_SZ的?),而不是常见的REG_SZ。REG_EXPAND_SZ导出来是HEX(2),字串是UNICODE编码的,所以"\"也不会自动转成"\\"。你把下面导进去看会不会自动运行,至于为何REG_SZ不能识别%...%只好去问比尔该死:)
  1. Windows Registry Editor Version 5.00
  2. [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
  3. "记事本"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,\
  4.   25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,6e,00,6f,\
  5.   00,74,00,65,00,70,00,61,00,64,00,2e,00,65,00,78,00,65,00,00,00
复制代码
上面那个字串其实就是:%SystemRoot%\system32\notepad.exe

[ 本帖最后由 netwinxp 于 2008-7-27 14:33 编辑 ]
回复

使用道具 举报

7#
发表于 2008-7-27 14:01:40 | 只看该作者
可能需要重复一个%,也就是%%systemroot%%,命令行添加IE link时,如果地址中出现%,也要重复再写一个,比如keyword=%%B8%%EC%%B8%%BB
回复

使用道具 举报

8#
发表于 2008-8-11 09:53:13 | 只看该作者
原帖由 netwinxp 于 2008-7-26 23:52 发表
不是说了吗,类型是REG_EXPAND_SZ(你可以看看系统哪个带%..%变量的字串没有用REG_EXPAND_SZ的?),而不是常见的REG_SZ。REG_EXPAND_SZ导出来是HEX(2),字串是UNICODE编码的,所以"\"也不会自动转成"\\"。你把下 ...

用REG_SZ也可以的 我以前操作的时候就是用的这个
不过刚才又去测试了一下 好像Run下面只认REG_EXPAND_SZ类型的 REG_SZ的不认
但是在设置壁纸、图标之类的时候是可以用REG_SZ类型的
蛮奇怪的
原帖由 kangyi 于 2008-7-27 14:01 发表
可能需要重复一个%,也就是%%systemroot%%,命令行添加IE link时,如果地址中出现%,也要重复再写一个,比如keyword=%%B8%%EC%%B8%%BB

不需要的
回复

使用道具 举报

9#
 楼主| 发表于 2008-8-11 12:33:10 | 只看该作者
是了,注册表又不是BAT或CMD,并不要加多个%的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-12-28 22:08

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表