Database 版 (精华区)
发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: Database
标 题: 启动WWW浏览器与电子邮件软件
发信站: 哈工大紫丁香 (2000年12月30日18:31:27 星期六), 转信
启动WWW浏览器与电子邮件软件 作者:蒋清野
启动一个非Visual FoxPro的应用程序,经常使用的是RUN命令。使用RUN命令只需
要应用程序的文件名及其路径,比如我们需要从Visual FoxPro中启动位于C:
\PWIN98目录下的计算器程序CALC.EXE,就可以使用命令RUN C:\PWIN98\CALC.EXE
来实现。该命令还有其他的一些参数,用来控制应用程序被激活时的状态,可以参
考Visual FoxPro的帮助文件。
----令人沮丧的是,在很多情况下我们并不能够清楚地知道我们所需要启动的应用
程序的文件名及其位置。比如我们需要启动用户机器上缺省的WWW浏览器并连接到
某一个网站地址,该用户使用的可能是IE,也可能是NetScape,还有可能是其他的
浏览器软件如Opera,这时候RUN命令就显得无能为力了。
----我们知道,在桌面上或者是资源管理器里双击某个文件时,Windows 就会自动
调用与该文件相关联的应用程序来对其进行处理。比如我们在桌面上双击某个DOC
文件,Windows就会启动Word并将该DOC文件打开。在这个过程中Windows使用了一
个名为ShellExecute 的Win32 API函数,其功能是打开或者是打印某个指定的文件
,这个文件可以是一个可执行文件,也可以是一个文档。这个命令包含在Windows
自带的SHELL32.DLL文件中,调用的语法为:
HINSTANCE ShellExecute(
HWND hwnd, // 指向调用本命令之父窗口的句柄
LPCTSTR lpOperation, //指定本命令所要执行的动作
LPCTSTR lpFile, // 指定本命令所要操作的文件
LPTSTR lpParameters, // 指定操作文件时所使用的参数
LPCTSTR lpDirectory, // 指定本命令所使用的缺省路径
INT nShowCmd // 指定文件被打开时的状态
);
----以下这段程序介绍了在Visual FoxPro中声明ShellExecute函数并调用缺省的
电子邮件软件向qyjohn@letterbox.com发送电子邮件的方法。
* 声明ShellExecute函数
DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,;
STRING lpszOP, ;
STRING lpszFile, ;
STRING lpszParams, ;
STRING lpszDir, ;
INTEGER fsshowcmd
* 声明GetDesktopWindow函数,该函数激活Windows桌面
DECLARE INTEGER GetDesktopWindow IN win32api
* 指定从Windows桌面上运行ShellExecute函数
HWND = GetDesktopWindow()
lpszOP = ""
* 指定ShellExecute操作的文件为mailto:qyjohn@letterbox.com
lpszFile = "mailto:qyjohn@letterbox.com"
lpszParams = ""
* 指定ShellExecute的缺省目录为C:\
lpszDir = "C:\"
fsshowcmd = 1
* 执行ShellExecute命令
LNRETURN = ShellExecute(HWND, lpszOP, lpszFile, lpszParams, lpszDir,
fsshowcmd)
----如果需要启动缺省的WWW浏览器并连接到某个站点,只需要将参数lpszFile换
成该站点的URL地址即可。比如我们需要连接到HappyFox站点,则含有参数
lpszFile的命令行应该写成:
lpszFile = http://happyfox.163.net/
----关于ShellExecute命令的其他用法,可以参考Visual FoxPro所提供的Win32
API 帮助。
作者:蒋清野
通讯地址:清华大学23#421 (100084)
电子邮件:qyjohn@letterbox.com
转载自中国程序员网站
--
大海无边天做岸
山登绝顶我为风
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.296毫秒