收藏本站 
网站首页 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
启动WWW浏览器与电子邮件软件
[ 作者:佚名    转贴自:本站原创    阅读次数:374    更新时间:2005-11-30 13:30:00   录入:刘光勇 ]         
---启动一个非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 帮助。
上一篇:优化 FoxPro 在网络上的性能  下一篇: 把FoxPro数据库转变成HTML表格  

网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号