您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> 正文    
  RUN命令调用其他的应用程序方法 【注册男护士专用博客】          

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

www.nanhushi.com     佚名   不详 

---- 在用VFP进行应用程序设计中,经常需要调用其他的应用程序。这时候我们立即会想到RUN命令。使用RUN命令只需知道应用程序的文件名及其路径即可。 

---- 下面的示例是以最大化方式启动Windows目录下的图画板程序并同时打开c:/windows/Bubbles.bmp 文件: 

---- RUN/n3 C:/Windows/Pbrush.exe c:/windows/Bubbles.bmp 。RUN命令的参数用法可以参考Visual FoxPro的帮助文件。 但是令人失望的是,在实际开发时我们常常无法确定所需要启动的应用程序的文件名及其安装的路径。比如我们需要启动用户机器上的浏览器并连接到某一个网址,该机器可能安装的是IE,也可能是NetScape,还有可能是其他的浏览器软件,安装的路径更是无从确定。下面给出我在工作中找到的两种解决方法,这两种方法都是通过Win32 API函数来解决问题,因此其解决思路也可以用到其他编程语言中去。 

---- (一)从注册表中获取被调用软件的名称及路径。 

---- 我们只需要提供被调用的软件所处理的文件类型(由文件扩展名来确定),即可通过查找注册表中该软件注册的可以处理的文件类型的数据项来得到该软件的文件名及安装路径 。 

*主函数
PROCEDURE lookreg
Parameter   filetype     && 文件类型

* 申明要用到的API 函数
DECLARE Integer RegOpenKey IN Win32API ;
        Integer nHKey, String @cSubKey,
Integer @nResult

DECLARE Integer RegCloseKey IN Win32API ;
        Integer nHKey

DECLARE Integer RegQueryValueEx IN Win32API ;
        Integer nHKey, String lpszValueName, 
Integer dwReserved,;
        Integer @lpdwType, String @lpbData,
Integer @lpcbData

#DEFINE HKEY_CLASSES_ROOT 
          -2147483648  
#DEFINE C_EXTNOFOUND_LOC "查找失败!"

LOCAL cExtn,cAppKey,cAppName,nErrNum
LOCAL oReg,regfile
cAppKey = ""
cAppName = ""
nCurrentKey = 0

nErrNum =GetAppPath
(filetype,@cAppKey,@cAppName)

* 确保去掉可执行文件后的参数 
(如: C:/EXCEL/EXCEL.EXE /e)
IF ATC(".EXE",m.cAppName) #0
        m.cAppName= ALLTRIM(SUBSTR
(m.cAppName,1,ATC(".EXE",m.cAppName)+3))
        IF ASC(LEFT(cAppName,1))=34
          && 去掉长文件名前多出的"字符
                        m.cAppName = SUBSTR(m.cAppName,2)

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    2011年护士资格考试:考…
    2009年初级护士资格考试…
    2009年主管护师考试于12…
    2009年初级护士考试于12…
    2009年初级护师考试于12…
    石家庄市关于2009年度护…
    2009年护士专业技术资格…
    医护技能考试周末举行 4…
    护士“托福”今年7月开考
    护士“托福”考试开始报…
    专 题 栏 目