VFP中常用WIN32API函数调用事例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VFP中常用WIN32API函数调用事例VFP编程时,为了弥补VFP本身功能的不足,常常会用到WIN32API函数来对VFP的功能行扩展,例如取得系统信息、对注册表进行操作等,但是由于WIN32API函数是C++的数据结构形式,在调用时与VFP的数据格式有所不同,因此在调用时往往会产生问题,而目前的一些资料所介绍的大都是VB、DELPHI等语言如何调用,对VFP如何调用介绍的比较少,更缺少具体的调用事例,下面我分几次介绍在VFP如何调用WIN32API函数,并就一些常用的WIN32API函数作一介绍,由于本人水平有限,所介绍的内容,仅供您参考,也欢迎您在我的[请您留言]中共同探讨:.................一、VFP中调用WIN32API函数的格式VFP中调用WIN32API函数的命令主要是:DECLARE-DLLCLEARDLLS1.DECLARE-DLL它用于注册外部Windows32位动态链接库(.DLL)中的一个函数。语法:DECLARE[cFunctionType]FunctionNameINLibraryName[ASAliasName].......[cParamType1[@]ParamName1,cParamType2[@]ParamName2,...]说明:cFunctionType指定该函数返回值的类型,其类型代码如下:SHORT16位整数INTEGER32位整数SINGLE32位浮点数DOUBLE64位浮点数STRING字符串FunctionName指定要注册使用的32位函数名。注意FunctionName区分大小写。如果该函数名与VisualFoxPro的保留字相同,应使用AS参数另起别名。INLibraryName指定该函数所在的外部动态链接库文件名,如果LibraryName为:WIN32API时,VFP将依次查找KERNEL32.DLL、GDI32.DLL、USER32.DLL、MPR.DLL及ADVAPI32.DLL等动态链接库文件名。ASAliasName当API函数的名称与VisualFoxPro的保留字相同时,另取AliasName别名,另取的别名是不区分大小写的。cParameterType1[@]ParamName1,cParameterType2[@]ParamName2,...指定传递给被调用的32位.DLL函数的参数类型及参数名称。其类型代码如FunctionType,如果要以传址方法传递参数则应在参数名前加上@。2.CLEARDLLS释放所有利用DECLARE-DLL命令所装入的动态链接库。....一旦申明WIN32API函数成功,就可以和一般函数一样用?xxx()、=xxx()来调用。....下面以具体事例谈谈win32api在Vfp中的运用:1.利用win32api函数获取指定磁盘的卷标:Stor0toC_var,C_cd,C_qfC_Var='c:\'DECLAREINTEGERGetVolumeInformationINWin32APISTRING@,STRING@,INTEGER,;INTEGER@,INTEGER@,INTEGER@,STRING@,INTEGERxx=GetVolumeInformation(C_Var,,20,@C_var,@C_cd,@C_qf,0,0)CLEARDLLS&&释放所有利用DECLARE-DLL命令所装入的动态链接库。xx0获取指定磁盘的卷标成功,反之则未成功。C_var=指定磁盘的卷标,是个十进制的数值,与我们在DOS下看到的16进制不同。C_cd=系统规定的文件名每一部分的长度,是个十进制的数值。C_qf=文件名的大小写标志,是个十进制的数值。.....怎么样很简单吧,我们可以把获取的磁盘卷标,用来加密我们的软件,这样我们的软件就具有防拷贝的功能了。

1 / 2
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功