iriszhu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2009-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2700回复:7

修改注册表

楼主#
更多 发布于:2003-11-06 08:53
用InStallShield做安装盘时能不能修改注册表:我想
在HKEY_LOCAL_MACHINE\\system\\CurrentControlSet\\Control\\VirtualDeviceDrivers这一项下面添加键值将虚拟设备驱动程序的路径加进去

最新喜欢:

mapoflmapofl
sgenius
驱动牛犊
驱动牛犊
  • 注册日期2003-11-01
  • 最后登录2003-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-06 11:18
RegDBSetKeyValueEx
iriszhu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2009-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-06 14:33
他的参数Szkey,指的是什么,HKEY_LOCAL_MACHINE\\system\\CurrentControlSet\\Control\\VirtualDeviceDrivers这个路径怎么指定,我是要在这个路径下建一个:
VDD:REG_MULTI_SZ:C:\\WINNT\\System32\\Drivers\\MFVDD.dll
sgenius
驱动牛犊
驱动牛犊
  • 注册日期2003-11-01
  • 最后登录2003-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-06 16:07
RegDBSetDefaultRoot(HKEY_LOCAL_MACHINE );
RegDBSetKeyValueEx(\"System\\\\CurrentControlSet\\\\.....\",\"vdd\", REGDB_STRING,\"65535\",-1);

iriszhu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2009-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-11-07 22:11
在作安装盘的时候,用的script语言,有没有可以找到系统目录的
函数 ,比如我要知道 win2000的系统目录?
sgenius
驱动牛犊
驱动牛犊
  • 注册日期2003-11-01
  • 最后登录2003-11-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-11-07 23:15
iriszhu
驱动牛犊
驱动牛犊
  • 注册日期2003-10-06
  • 最后登录2009-05-08
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-11-23 18:49
我用Installshield做安装盘时,让其在某目录下注册一个驱动程序的路径,源码如下:
nRootKey = HKEY_LOCAL_MACHINE;
if (RegDBSetDefaultRoot(nRootKey) < 0) then
return -1;
endif;
szKey=\"SYSTEM\\\\CurrentControlSet\\\\Control\\\\VirtualDeviceDriv ers\";
if (RegDBKeyExist(szKey) < 0) then
if (RegDBCreateKeyEx(szKey, \"\") < 0) then
return -1;
endif;
endif;

szClass=\"Vdd\";
szValue=WINDIR^\"\\\\system32\\\\drivers\\\\Mfvdd.dll\";
nsize = StrLength(szValue);
if (RegDBSetKeyValueEx (szKey,szClass,REGDB_STRING_MULTI,szValue,nsize)<0) then
MessageBox (\"注册vdd失败,请手动修改注册表!\", SEVERE);
return -1;
endif;
nResult = CreateRegistrySet( \"\" );

可是注册结果,注册表中那一项的数据值为
c:\\winnt\\system32\\\\drivers\\\\Mfvdd.dll...
后面怎么会多处三个点来,导致结果不能用,
如果手动把那三个点去掉就可以了,这是为什么哪?。

zhuangzhong911
驱动牛犊
驱动牛犊
  • 注册日期2009-04-02
  • 最后登录2009-06-03
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望141点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2009-06-03 16:47
我也做着试试看,也许能帮你
游客

返回顶部