2005/05/10 | 关于检测用户是否安装必要软件 以及 调用安装程序的问题解决方法
类别(学习笔记) | 评论(1) | 阅读(391) | 发表于 18:38
要检测用户机器中是否安装必要的软件?我们就必须要读用户的注册表。由于在Director没有直接对注册表进行操作的指令,所以我们只能借助第三方插件buddyapi xtra。
下面我以acdsee和adobe公司的acrobat reader为例来说明:
读取注册表的函数,用buddy api 插件的baReadRegString( KeyName, valueName, Default, Branch )
这四个参数均为string类型,下面是它们的一些说明,这些你都可以在buddy api的帮助文件中查到!
KeyName is the name of the key.
valueName is the name of the value. Under 16 bit, this value is ignored.
Default is the string that is returned if the key/value doesn't exist.
Branch is the branch of the registry to use. Can be one of the following:
"HKEY_CLASSES_ROOT"
"HKEY_CURRENT_USER"
"HKEY_LOCAL_MACHINE"
"HKEY_USERS"
"HKEY_CURRENT_USER"
"HKEY_DYN_DATA"
比如我们要读取acdsee的安装路径,那么语句应该这么写:
baReadRegString("software\microsoft\windows\currentversion\apppaths\acdsee.exe","path","error", "HKEY_LOCAL_MACHINE" )
要读取acrobat reader的安装路径,可以这么写:
baReadRegString("software\microsoft\windows\currentversion\apppaths\AcroRd32.exe","path","error", "HKEY_LOCAL_MACHINE" )
也可以这么写:
baReadRegString( "software\adobe\acrobat reader\5.0\Installpath", "", "error", "HKEY_LOCAL_MACHINE" )


用open调用外部程序的方法:
open命令的用法如下:
open {whichDocument with} whichApplication
这个命令用来调用whichApplication所指定的外部程序打开whichDocument所指定的文件。这里需要说明的是,whichDocument可以缺省,那么这时仅仅打开外部程序。当外部程序和影片不在同一目录下的时候,需要指定外部程序的绝对路径。
这个命令不能用于shockwave或者系统属性the safeplayer设置为True的时候。
下面我们举些例子来说明这个命令的用法。
open "system.txt" with "notepad.exe"
用记事本打开system.txt文本文件。
open "c:\ " with "explorer"
打开硬盘的系统所在的区。
open "explorer"
打开资源管理器
open "explorer c:\a.zip"
这里你会发现如果该文件不能用IE打开的话,将会出现文件下载窗口。
open "explorer www.5460.net";;
这会调用IE打开网址http://www.5460.net。
0

评论Comments

日志分类
首页[38]
DirectorFAQ[9]
学习笔记[14]
c语言[3]
生活碎片[11]
关于xiaoma[1]