我要做一个安装程序,其中要把一个文件Copy到AutoCAD的安装目录下,怎么办?应该要读注册表的吧,现在我知道可以通过读取这个键值来获取:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\acad.exe
把读出来的值放到一个变量,比如szNewDir里,然后就好办了
现在关键我不知道如何在Install Shield的脚本语言里写代码获得这个键值,请大家帮帮我!
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\acad.exe
把读出来的值放到一个变量,比如szNewDir里,然后就好办了
现在关键我不知道如何在Install Shield的脚本语言里写代码获得这个键值,请大家帮帮我!
语法:RegDBGetKeyValueEx (szKey, szName, nvType, svValue, nvSize);
说明:RegDBGetKeyValueEx函数检索注册表中一个指定项下一个特定数值名的值。缺省时,InstallShield假定该项是HKEY_CLASSES_ROOT下的一个子项。你可以用RegDBSetDefaultRoot来指定另一个开关键。
RegDBGetKeyValueEx是一个通用注册表相关函数,设计为可工作于所有注册表项,包括那些由特殊注册表相关函数处理的项。
参数:
szKey
指定其值要被检索的项的名称。用一个双反斜杠来分隔子项中的不同层。
szName
指定在szKey下其值要被检索的数值的数值名。要检索项的缺省值,则传递一个空字符串。
nvType
返回下列预定义常量之一,它们标识在svValue返回的数据的类型:
请参阅15.12中该部分的说明。
svValue
返回由szKey和svName 指定的值。注意一个数值型值以一个字符串返回。
nvSize
以字节数返回在svValue返回的值的大小。
返回值:
0:表明函数成功检索该值。
< 0:表明函数未能检索该值。
注解:
一个Windows NT平台上,当检索REGDB_STRING_MULTI数据类型时,带空字符串为参数调用StrGetTokens来将多个以空字符串为中止的字符串分析到一个字符串列表。也就是,如果svValue在调用RegDBGetKeyValueEx后有多个结果字符串,StrGetTokens( listID, svValue, "")可以被使用来分析字符串并把它们放到一个由listID指向的字符串列表。
C:\PROGRA~1\COMMON~1\AUTODE~1;D:\ACAD2000\;D:\ACAD2000\SUPPORT;D:\ACAD2000\FONTS
实际上我只需要其中的D:\ACAD2000;就行了,如何实现?
另外,我的E-mail是[email protected],麻烦你再把那个库函数文档都发给我吧,谢谢了