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

RUN命令调用其他的应用程序方法,第1张

RUN命令调用其他的应用程序方法,第2张

-在使用VFP的应用程序设计中,经常需要调用其他应用程序。这时,我们马上想到RUN命令。通过使用RUN命令,您只需要知道应用程序的文件名和路径。

-下面的例子是在Windows目录下启动画板程序,同时打开c:\windows\Bubbles.bmp文件:

-RUN/n3 C:\ Windows \ Pb rush . exe C:\ Windows \ bubbles . BMP .RUN命令的参数用法可以参考Visual FoxPro的帮助文件。然而令人失望的是,在实际开发中,我们往往无法确定要启动的应用程序的文件名及其安装路径。比如我们需要在用户机器上启动浏览器,连接到某个网站。本机可能安装了IE、网景或其他浏览器软件,安装路径不确定。这是我在工作中发现的两个解决方案。这两种方法都是通过Win32 API函数来解决问题,所以它们的解决方案也可以用在其他编程语言中。

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

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

*主函数
过程lookreg
参数文件类型& &文件类型

*声明要使用的API函数
在Win32 API中声明integer regopenkey
Integer nHKey,String @cSubKey,
Integer @nResult

在Win32API中声明整数RegCloseKey
整数nHKey

在Win32API中声明整数RegQueryValueEx
Integer nHKey,String lpszValueName,
Integer dwReserved,;
Integer @lpdwType,String @lpbData,
Integer @lpcbData

# define HKEY _类_根
-2147483648
# define c _ extnofound _ loc "查找失败!"

LOCAL cExtn,cap key,cap name,nErrNum
LOCAL oReg,regfile
cap key = " "
cap name = " "
nCurrentKey = 0

nErrNum =GetAppPath
(文件类型,@ cAppKey,@ cAppName)

*确保参数
(如:C:\ excel \ excel.exe/e)
if ATC(" .exe ",m . cap name)# 0
m . cap name = all trim(substr
)m . cap name)+3)]
if ASC(left(cap name,1)) = 34
&&删除多余的"字符
m . cap name = substr(m . cap name,2)

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » RUN命令调用其他的应用程序方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情