vfp中api函数调用实例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vfp中api函数调用实例

vfp中api函数调用实例我们在vfp编程时,为了弥补vfp本身功能的不足,常常会用到win32api函数来对vfp的功能进行扩展,例如取得系统信息、对注册表进行操作等,但由于win32api函数是c++的数据结构形式,在调用时与vfp的数据格式有所不同,因此在调用时往往会产生问题。下面,笔者就在vfp如何调用win32api函数,并就一些常用的win32api函数调用实例作一具体介绍。vfp中调用win32api函数的格式vfp中调用win32api函数的命令主要是declare-dll和clear dlls两个。declare-dll 它用于注册外部windows 32位动态链接库(.dll)中的一个函数。语法:declare [cfunctiontype] functionname in libraryname [as aliasname] [cparamtype1 [@] paramname1, cparamtype2 [@] paramname2, ...] 说明:cfunctiontype 指定该函数返回值的类型,其类型代码如下:short      16位整数integer     32位整数single      32位浮点数double      64位浮点数string      字符串functionname指定在要注册使用的32位函数名。注意functionname区分大小写。如果该函数名与visual foxpro的保留字相同,应使用as参数另起别名。in libraryname 指定该函数所在的外部动态链接库文件名,如果libraryname为win32api时,vfp将依次查找:kernel32.dll、gdi32.dll、user32.dll、mpr.dll及advapi32.dll等动态链接库文件名。as aliasname 为当api函数的名称与visual foxpro的保留字相同时,另取aliasname别名,另取的别名是不区分大小写的。cparametertype1 [@] paramname1, cparametertype2 [@] paramname2, ... 指定传递给被调用的32位.dll函数的参数类型及参数名称。其类型代码如cfunctiontype,如果要以传址方法传递参数则应在参数名前加上@。  2. clear dlls 释放所有利用declare-dll命令所装入的动态链接库。一旦申明win32api函数成功,就可以和一般函数一样用?xxx()、=xxx()来使用。vfp中常用win32api函数调用实例  1.利用win32api函数获取指定磁盘的卷标:stor 0 to c—var,c—cd,c—qf c—disk=′c:\′ &&指定磁盘declare integer getvolumeinformation in win32api string @,string @,integer,; integer @, integer @, integer @, string @, integer xx=getvolumeinformation(c—disk,″ ″,20,@c—var,@c—cd,@c—qf,0,0) clear dlls 返回值:xx〈〉0 获取指定磁盘的卷标成功,反之则未成功。c—var=指定磁盘的卷标,是个十进制的数值,与我们在dos下看到的16进制不同。c—cd=系统规定的文件名每一部分的长度。c—qf=文件名的大小写标志。2.在vfp中利用wn32api函数调用outlook express给你的程序建立发送邮件的链接。 declare integer shellexecute in shell32.dll integer hwnd,; string, string lpszfile, string, string, integer申明shellexecute函数, lpszfile=′mailto:cfyns@163.net′ 设定你需要发送的e-mail=shellexecute(0,0,lpszfile,0,0,1) 调用shellexecute函数 3.利用win32api函数,防止同一程序被重复执行。  利用win32api中的findwindow()函数取得窗口的handle(句柄),其返回值不等于0,则表示该exe文件已运行。vfp代码如下:declare integer findwindow in win32api string,string local ctitle ctitle=—screen.caption if find—window(0,ctitle)〈〉0=messagebox(″程序已运行,无需重复!″,

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档