在VFP中调用其他应用程序的实用技术

本文介绍了在Visual FoxPro (VFP) 中如何调用其他应用程序,包括通过RUN命令和Win32 API函数。当无法确定应用程序文件名及路径时,可以从注册表中获取信息,或者利用Windows的文档关联特性通过ShellExecute函数直接调用。文中提供了详细的示例和自定义函数,如lookreg()和shellstart()。
摘要由CSDN通过智能技术生成
---- 在用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 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值