一、VFP中调用WIN32API函数的格式
VFP中调用WIN32API函数的命令主要是:
DECLARE - DLL
CLEAR DLLS
1.DECLARE - DLL 它用于注册外部 Windows 32 位动态链接库 ( .DLL ) 中的一个函数。
语法: DECLARE [cFunctionType] FunctionName IN LibraryName [AS AliasName]
.......[cParamType1 [@] ParamName1, cParamType2 [@] ParamName2, ...]
说明:
cFunctionType 指定该函数返回值的类型,其类型代码如下:
SHORT16 位整数
INTEGER32 位整数
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函数的参数类型及参数名称。其类 型代码如FunctionType,如果要以传址方法传递参数则应在参数名前加上@。
2.CLEAR DLLS 释放所有利用DECLARE - DLL命令所装入的动态链接库。
....一旦申明WIN32API函数成功,就可以和一般函数一样用 ?xxx()、=xxx() 来调用。
....下面以具体事例谈谈win32api在Vfp中的运用:
1.利用win32api函数获取指定磁盘的卷标:
Stor 0 to C_var,C_cd,C_qf
C_Var='c:\'
DECLARE INTEGER GetVolumeInformation IN Win32API STRING @, STRING @, INTEGER,;
INTEGER @, INTEGER @, INTEGER @, STRING @, INTEGER
xx=GetVolumeInformation(C_Var,"",20,@C_var,@C_cd,@C_qf,0,0)
CLEAR DLLS &&释放所有利用DECLARE - DLL命令所装入的动态链接库。
xx<>0 获取指定磁盘的卷标成功,反之则未成功。
C_var=指定磁盘的卷标,是个十进制的数值,与我们在DOS下看到的16进制不同。
C_cd=系统规定的文件名每一部分的长度,是个十进制的数值。
C_qf=文件名的大小写标志,是个十进制的数值。
怎么样很简单吧,我们可以把获取的磁盘卷标,用来加密我们的软件,这样 我们的 软件就具有防拷贝的功能了。
【VFP中常用WIN32API函数调用事例】相关文章:
我梦想中的房子高考英语作文02-06
初中英语听力训练材料02-06
2023年内蒙古包头中考总分多少,各科都是多少分?02-06
小学必会的Be动词的用法语法知识02-06
高中生英语作文:为什么人们选择网购02-06
09中考英语命题作文 C02-06
浙教版五年级上册英语期中试卷02-06
澳洲移民生活常识02-06
中级人力资源专业知识与实务练习题(7)02-06
英语实用写作词汇学习:beat,hit,strike的区别02-06
