RUN命令调用其他的应用程序方法

出处:Examlink 作者: 日期:2008年03月20日 14时23分

ENDPROC

* 得到应用程序的安装路径及名称
PROCEDURE GetApplication
        PARAMETER cExtnKey,cAppKey
        LOCAL cOptName
        cOptName = ""
                
        =OpenKey(m.cExtnKey+"\Shell\Open\Command")
        =GetKeyValue(cOptName,@cAppKey)
        =CloseKey()     
ENDPROC
---- 在使用这段程序时,使用如下格式的语句: 
---- fullpath=lookreg("doc") && 返回打开doc 文件的软件名及安装路径 

---- 灵活运用该段程序,可以大大丰富我们在软件中的表现能力,例如应用软件的菜单中都有一项“关于本软件”的功能,该功能调用的表单一般用来显示有关系统资源及软件版权的信息。如果我们要给其中的公司信息加上超文本链接使其可以直接访问公司主页。就可以在显示公司信息的 Label控件的 Click 事件中使用如下语句: 

fullpath=lookreg("htm")
If  allt(fullpath)= =[]
        =messagebox(" 无法找到浏览器以
浏览公司主页!",64,"")
        retu
Else
        fullpath=subst(fullpath,1,rat
([.],fullpath)-1)+space(2)+;
                        [www.flysmart.com]  
        RUN/n3  &fullpath
Endif

---- (二)利用Windows 的文档关联特性直接调用 

---- 我们知道,Windows是一种面向文档的操作系统。当我们双击某个文件时,Windows就会自动启动与该文件相关联的应用程序来对文件进行处理。在这个过程中Windows主要使用了一个名为ShellExecute 的Win32 API函数。我们可以通过这个函数来直接调用其他程序,彻底抛弃Run 命令的方式。 

Function shellstart
Parameters  documentname

* 声明ShellExecute函数 
DECLARE INTEGER ShellExecute IN 
      shell32.DLL INTEGER HWND,; 
        STRING lpszOP, ; 
        STRING lpszFile, ; 
        STRING lpszParams, ; 

STRING lpszDir, ; 
        INTEGER fsshowcmd 

* 指定ShellExecute函数的输出指向Windows桌面
DECLARE INTEGER GetDesktopWindow IN win32api 
HWND = GetDesktopWindow() 

* 指定操作命令为"打开"方式
lpszOP = "open" 

* 指定ShellExecute操作的对象为 documentname
lpszFile = documentname
lpszParams = "" 

* 指定ShellExecute的缺省目录为c:\temp
lpszDir = "c:\temp" 
fsshowcmd = 0

* 执行ShellExecute命令 
LNRETURN = ShellExecute(HWND, lpszOP, 
lpszFile, lpszParams, lpszDir,fsshowcmd) 
Retu

调用方式:
=shellstart("www.flysmart.com")    
        && 连接到网站www.flysmart.com
=shellstart(“c:\windows\script.doc”)   
        &&  打开c:\windows\script.doc文件

最后更新时间:2008-05-28 12:34:12
文章评论
共有 0 位网友发表了评论
用户名: 新注册) 密码: 匿名评论 [查看所有评论]

评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
您可以用以下几种方式找到此文章

考试全流程