在VFP中发送电子邮件

文章作者 100test 发表时间 2007:10:19 11:50:14
来源 100Test.Com百考试题网


  用过《网络蚂蚁》的朋友都知道,在帮助菜单的对话框里作者留下了他的电子邮件地址,单击该邮件地址我们便能给作者发送电子邮件。这种功能看起来有些神秘,实际上只要利用Windows API的ShellExecute函数,便可轻松地实现该功能。
  ShellExecute是用来打开特定格式的文件(如WORD文件、EXCEL表格)的函数。该函数存放在Shell32.DLL动态链接库中,通过查阅MSDN,我们能够得到下述帮助:
  HINSTANCE ShellExecute(HWND hwnd,LPCTSTR lpOperation,LPCTSTR lpFile,LPCTSTR lpParameters,LPCTSTR lpDirectory,INT nShowCmd).
  其调用参数的含义如下:
  hwnd:指明打开文件的窗口句柄。
  lpOperation:指明操作类型,分别是“open”(打开)、“print”(打印)、“explore”(浏览)。
  lpFile:欲打开文件的文件名。这里应该将文件的含义向更深层次理解。文件可以是本地文件,也可以是远程文件;文件的类型可以是文本文件,也可以是多媒体文件。
  lpParameters:打开文件时所传递的参数。特别适合打开EXE文件。
  lpDirectory:文件所在路径。
  nShowCmd:打开文件时窗口的状态。0表示隐藏,1表示最大化,2表示最小化。
  如果该函数能够成功打开文件,则该函数的返回值大于32。该函数的返回值能够为你调试程序提供很多有用的信息,具体情况见MSDN内帮助文件。
  好,有了上述认识之后,我们便能在VFP的程序开发中利用ShellExecute函数来实现发送电子邮件的功能。新建一表单ABOUTME,在该表单上添加下列控件(见表1)。
  需要说明的是,在Label1中的MouseIcon设为一手型光标,其所对应的图标文件在系统内可以随处找到(利用查找文件功能),本文用的是Windows自带h_move.cur文件。针对Label11的各类设置都是为了将该标签打扮得更象“超文本”。
  添加完上述控件之后,接下来便是编写控件的CLICK事件代码了。对Label1和Label2的CLICK事件设定相同,其他代码为:
  *进行声明操作:
  DECLARE INTEGER ShellExecute IN shell32.DLL INTEGER HWND,STRING,STRING lpszFile,STRING,STRING,INTEGER
  *向[email protected]邮箱内发送一封主题为“你好”的电子邮件。
  在Label1的CLICK事件里,添加以下代码:
  ShellExecute(0,″open″,″mailto:[email protected]?subject=你好″,0,0,1)
  在Label2的CLICK事件里,将上述语句改为:
  ShellExecute(0,″open″,″http:∥NationalTax.home.Chinaren.com″,0,0,1)
  *以最大化窗口方式打开IE,进入作者主页。
  确认按钮的CLICK事件代码很简单:thisform.release
  运行上述表单,当鼠标移动到电子邮件或是作者主页区域时,鼠标便会变成一只手,点一下即可进行相应的操作:单击Label1,启动Outlook Express;单击Label2,启动IE,表单真有些像一个小型的IE!其实,在VFP的程序开发中,一些看似不可能的事件只要稍微用到一些Windows API,所有的事件一下子都变得简单多了。
  Windows API简介:
  Application Program Interface,即应用程序编程接口,它是Windows提供给程序员的一系列函数。这些API函数同一般的函数相似,同样具有输入输出参数,并编译到一个独立的文件中,该文件被称为动态链接库。运用API函数可以实现许多复杂和有趣的功能,如重新启动计算机、跟踪当前激活窗体、收发E-mail等。

相关文章


mysql字段类型学习大全
MySQL数据库引擎ISAM,myISAM,heap介绍
MySQL自动递增字段的创建方法
SQL改变端口后再进行连接的方法
在VFP中发送电子邮件
在VFP中定制自己的工具栏
在VFP中调用系统用户及单位名称
怎样在VisualFoxPro中增加与去除网络联接
VFP中实现在浏览器中运行应用程序方法
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛