|
今碰到一个问题
关于全局设置.
现在的全局设置是保存到注册表 HKCU分支中的也就是保存到当前用户的注册表里面.
如果换了一个用户,就必须重新设置.
我建议,保存到注册表HKLM分支中,这样才是全局的.不管是什么用户登录设置都是一样的.
或者支持INI配置.可以从INI中读取.
免得换个用户就要重启设置一下..
碰到此问题的原因是,为了减小磁盘占用空间我想将系统中的一些比较少用东西用WIM打包.
启动时再自动挂载上去.
自动挂载,我是利用启动系统服务的方式挂载的,这时问题来了,因为我的设置是保存在当前用户下的.
但是启动服务用的是SYSTEM帐户,所以设置不一样,造成挂载出现问题.
希望下个版本可以改进.
呵呵,用WIM打包后, C:又多了一些可用空间.
将一些占用空间很大的软件目录,用WIM打包,启动时自动挂载.(像播放器,OFFICE,Q)
不但点用空间小了,而且又不怕病毒又安全.真是一举多得.
另附上ExpandEnvironmentStrings的API 的VB调用例子,
delphi里面使用方法应该差不多吧.
VB声明 | Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long | 说明 | 扩充环境字串。具体操作过程与命令行处理的所为差不多。也就是说,将由百分号封闭起来的环境变量名转换成那个变量的内容。比如,“%path%”会扩充成完整路径。在vb里经常用于为新进程创建一个环境块 | 返回值 | Long,lpDst要求的缓冲区的大小。如nSize小于这个数字(也就是说,缓冲区太小,以至不能全容下扩充过后的字串),那么lpDst不会被载入。可利用这个结果改变字串的大小。零表示遇到错误。会设置GetLastError | 参数表 | 参数 | 类型及说明 | lpSrc | String,欲扩充的字串 | lpDst | String,扩充过后的字串 | nSize | Long,lpDst的长度。注意预先对lpDst进行初始化,使其与这个长度相符 | 示例 | Dim s$, dl&
Dim y As String * 5
s$ = "%PATH%"
dl& = ExpandEnvironmentStrings(s$, y, 499)
Print y |
[ 本帖最后由 chenall 于 2007-12-4 02:55 PM 编辑 ] |
|