iprowq
驱动牛犊
驱动牛犊
  • 注册日期2008-02-29
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分64分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
阅读:1947回复:5

驱动中如何得到系统目录??

楼主#
更多 发布于:2008-04-11 00:52
API中有个GetSystemDirectory()可以得系统目录,那么驱动中有没有实现这个功能的函数呢??
ggamma
驱动小牛
驱动小牛
  • 注册日期2007-02-15
  • 最后登录2009-05-26
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望180点
  • 贡献值0点
  • 好评度99点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-04-11 12:18
自已访问注册表不就行了.
REGISTER/MECHINE下面找一下 %WINDIR%的值.

(哪个路径我忘了.)
iprowq
驱动牛犊
驱动牛犊
  • 注册日期2008-02-29
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分64分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-04-11 14:39
引用第1楼ggamma于2008-04-11 12:18发表的  :
自已访问注册表不就行了.
REGISTER/MECHINE下面找一下 %WINDIR%的值.

(哪个路径我忘了.)

谢谢你个回答!不过真的就没有其他函数了吗?
还有就是,驱动访问注册表时,注册表各个根键的名字是什么?
像HKEY_LOCAL_MACHINE就是REGISTER/MECHINE
HKEY_CURRENT_USER等是什么呢?
iprowq
驱动牛犊
驱动牛犊
  • 注册日期2008-02-29
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分64分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-04-11 14:48
引用第1楼ggamma于2008-04-11 12:18发表的  :
自已访问注册表不就行了.
REGISTER/MECHINE下面找一下 %WINDIR%的值.

(哪个路径我忘了.)

刚才我试了一下,你说的有些问题。
正确的方法应该是查找“SOFTWARE\Microsoft\Windows NT\CurrentVersion”中的PathName
WINDIR对应的是%SystemRoot%
ggamma
驱动小牛
驱动小牛
  • 注册日期2007-02-15
  • 最后登录2009-05-26
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望180点
  • 贡献值0点
  • 好评度99点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-04-11 16:02
%SystemRoot%一般是象C:的字串
%Windir%则应当是系统目录,像C:\windows
是你问得有问题吧.

事实上,注册表只有两个分去:
REGISTER/USERS
REGISTER/MECHINE
还有一个动态分支:REGISTER/CURRENTCONFIG,是WINDOWS的动态信息(可认为只存在内存中的易失信息)

其他两个是"SHORT CUT",自已找一下就知道是哪 个了.
iprowq
驱动牛犊
驱动牛犊
  • 注册日期2008-02-29
  • 最后登录2009-11-02
  • 粉丝0
  • 关注0
  • 积分64分
  • 威望37点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-04-11 17:05
引用第4楼ggamma于2008-04-11 16:02发表的 :
%SystemRoot%一般是象C:的字串
%Windir%则应当是系统目录,像C:windows
是你问得有问题吧.

事实上,注册表只有两个分去:
.......

我查找了下注册表,发现windir对应的字符串为“%SystemRoot%”,没有像"C:\WINDOWS"这样的字符串,倒是PathName和SystemRoot这两个项的值为“C:\WINDOWS”。
游客

返回顶部