一个多月了,问题还没有解决。真的不能在程序中直接添加协议吗? (31分)

  • 主题发起人 zq_hunan
  • 开始时间
那是些什么协议?
 
是虚拟拨号软件raspppoe的raspppoe.inf
 
楼主,不好意思,
你就那么几个DLL文件什么的,
真的很难耶,
其实就是PPP(点对点)协议嘛,
我还以为是什么高档货呢~~~~~~~~~~
呵呵~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
Netsoft大侠,多谢你啦,我再想办法。
 
应该是根据inf来写注册表吧
 
因为手动添加协议raspppoe.inf后,修改了注册表并向c:/windows/system下拷贝了3个文
件。于是我以前用过一个笨方法:
把机器上没有装raspppoe.inf的注册表和装了raspppoe.inf的注册表进行比较,找出不同
的键,导出生成.reg文件。然后手工运行.reg文件(双击),并向c:/windows/system下拷
贝3个文件,这时raspppoe协议就被顺利的添加到了机器上,重启后进行虚拟拨号一切正
常!于是我想到用程序修改注册表和拷贝文件来解决问题,先把.reg文件的后缀改成txt打
开,然后根据.txt的内容相应的对注册表进行修改,然后拷贝文件并重启,却不行!程序修
改注册表没有达到运行.reg文件的效果,我测试了两天没有找出原因。最后不得不放弃了这个办法。:( 郁闷………
 
哈哈,能不能发给我一分
我看看,fanronghua__@163.com
 
邮件已发
 
既然运行 reg 文件可以实现, 那为何不用程序模拟运行: Shellexecute('*.reg') ?
然后再看看 reg 文件可否 "无提示"导入
 
reg文件可以“无提示”导入,但是肯定不能直接运行*.reg啊.
比如:
在我的机器上HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans
下有4个项,即
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0000
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0001
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0002
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0003
现在我安装raspppoe.inf就要在它下面增加一个项,*.reg中为
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0004
那么这个是正确的,但是别人的机器不一定是4个项呀,有可能3,5,7,9……
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0000
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0001
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0002
或者
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0000
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0001
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0003
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0004
HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/Class/NetTrans/0005
……
 
都问炸了,还问。
 
问题还没有解决之前,我肯定要问的
 
添加到注册表中或者最简单的方法问Microsoft!!
 
wait……
 
不知道有没有dos之类的命令来添加?
 
实在不行的话,告诉你一个土办法
你可以运行分析一下inf文件,看它在注册表中加了什么,或用直接regmon和,filemon监视inf文件的安装过程,然后在你的程序中手工编写delphi码安装,这样一定行!!!
只是看regmon,filemon的生成的"长编论文"比较头痛
 
to 3304xfq,谢谢!我前面试过啊:
手动添加协议raspppoe.inf后,修改了注册表并向c:/windows/system下拷贝了3个文
件。于是我以前用过一个笨方法:
把机器上没有装raspppoe.inf的注册表和装了raspppoe.inf的注册表进行比较(用的RegSnap),找出不同的键,导出生成.reg文件。然后手工运行.reg文件(双击),并向c:/windows/system下拷贝3个文件,这时raspppoe协议就被顺利的添加到了机器上,重启后进行虚拟拨号一切正常!于是我想到用程序修改注册表和拷贝文件来解决问题,先把.reg文件的后缀改成txt打开,然后根据.txt的内容相应的对注册表进行修改,然后拷贝文件并重启,却不行!程序修改注册表没有达到运行.reg文件的效果,我测试了两天没有找出原因。最后不得不放弃了这个办法。:( 郁闷………
我一直都搞不懂,难道运行.reg文件和程序相应的修改注册表有区别吗?
 
没有,是不是你的程序中什么地方错了???
用程序修改时同样用regmon监视,看看什么地方错了,还有,还要看你是什么系统,如果是2000,XP那要改其它地方,我现在装的是ME,不能把那个键值给你,而我向来看了就忘,等到要用时再去翻的
最好在不同的系统上分别手动装inf,在用regmon监视

谁叫我们都是爱国人土----------英盲 ,看不懂MSDN,只能这样蛮着干!!!
 
我装了两个系统:98,2000。
我是在98下试着写注册表的,仔细检查了,没有错误。但是不行,卸特。
 
肯定是错了,比如多余的空格,#13#10等等
 
顶部