FoxPro中Windows API的调用
来源: 作者: 出处:综艺读书 2006-10-12
动态连接函数库(DLLs)可以说是Windows系统的基础,Windows系统或Windows的应用
系统在执行过程中,常常通过外部的动态连接函数库支持其所需功能,如控制屏幕、打印机、
|
|
|||
序过大。另外一点,就是这些工作函数库具有共享功能,也就是说可以利用Windows程 序开发
工具,直接使用这些属于Windows函数库的功能,直接在程序中访问,增加开发的 系统与
Windows系统环境的结合能力。WindowsAPI的大约400多个API功能,大部分都可 供用户
调用,若能用好这些WindowsAPI功能,既可减少重复开发,又能提高应用系统对 Windows环
境的兼容性和系统性能。
在Windows环境中所提供的工作函数库主要有下面三个文件:
·GDI.EXE———屏幕显示及打印功能。
·USER.EXE———鼠标、键盘、通信端口、声音及时钟功能。
·KERNEL.EXE———文件及内存管理(核心部分)功能。
FOXTOOLS.FLL就是FOXPRO For Windows提供的访问WindowsAPI函数的动态连接函数库。
它提供下面两个函数:
RegFn()———WindowsAPI功能注册函数。
CallFn()———WindowsAPI功能调用函数。
要使用WindowsAPI函数首先应该用RegFn()函数注册该函数,注册成功后再用CallFn()
函数调用之。RegFn()和CallFn()的语法如下。
RegFn(<Function name>,<Argment Types>,<Return Types>,[DLL name])
CallFn(<Fn Num>,[<Arg1>,<arg2>....])
参数说明:
Function name为要调用的API函数的函数名称。
Argment Types为要调用的API函数的参数类型说明。
Return Types为要调用的API函数的返回值类型说明。
DLL name为您要调用的API函数所在的动态连接函数库名。必须包括扩展名,如.DLL或.DLL
或.EXE(GDI.EXE、USER.EXE,KERNEL.EXE可省略扩展名)。
{Fn Num>是用RegFn()注册成功的函数,即RegFn()的返回值
[<Arg1>,<arg2>...])为参数序列,注意参数类型必须与用RegFn()注册的类型
一致。
如果用RegFn()注册一个WindowsAPI函数成功的话,会返回一个数值,若无法找到指定的
<DLL name>将返回-1,同时出现一个Windows错误窗口。所以如果您使用WindowsAPI函数,
您必须保证您所调用的函数所在的动态连接函数库存在,而且函数调用格式正确CallFn()
缺省
传递参数的方式为传值,若要改为传址,应在该参数前加上@强制符号。
笔者曾经因为鼠标器左键不好使而用WindowsAPI的SwapMouseButton()函数对换了鼠标器
的左右键,下面就以此为例说一下RegFn()和CallFn()的用法。
SwapMouseButton()的语法如下:
SwapMouseButton(BOOL bSwap)bSwap为真值(1)时将鼠标器左右键对换,为假(0)时
将左右键恢复正常设置。
对换过程SwapMouse.prg
PARAMETERS Swap
SET LIBRARY TO SYS(2004)+"FOXTOOLS.FLL"
&&连入FOXTOOLS.FLL库
Fn=RegFn("SwapMouseButton","I","I","USER.EXE")
&&注册SwapMouseButton
IF Fn=-1
WAIT WINDOWS"注册失败!"NOWAIT
SET LIBRARY TO
RETURN
ENDIF
&&注册成功
Result=CallFn(Fn,Swap)
SET LIBRARY TO
RETURN
相关图文阅读
频道图文推荐
相关专题
最新技术文档
·用FoxWeb在网上快速发布你的FOXPRO数据库 11-03
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
·用Foxpro制作Windows输入法码表 11-03
·用FoxPro生成HTML文件 11-03
·下载和上载远程视图数据 10-30
·为Visual FoxPro应用程序增加文件压缩功能 10-30
·为VFP添加循环微调控件类 10-30
·为FoxPro中的弹出式菜单增加自学习功能 10-30
·通过编程运行拨号网络连接 10-29
·谈谈在基于Foxpro的MIS中实现提示、帮助与询问 10-29
·谈谈VFP和SQL SERVER搭配做C/S系统 10-29
站内各频道最新更新文档
站内最新制作专题
|
|||||
| ·Windows Vista ·邮件服务器专题 ·协议大全 ·数据恢复指南教程 ·FreeBSD使用教程 ·Linux数据库宝典 ·服务器存储专栏 ·Wlan组网----家庭专题 |
·综合布线工程案例 ·Linux服务器的安全性能 ·iSCSI应用与发展 ·电脑死机原因及解决办法 ·SOA 面向服务架构 ·Zope应用开发指南 ·XML详解 ·J2SE开发应用 |
||||
热门关键字导读
站内频道文章精选
| · AMD董事长年薪1610万美元 · 胡润富豪榜4位女老总遭勒索 · 爱立信中国区副总屠敏离职 |
· 绝对好使的电脑超级技巧 · 想不到浏览器还有这个功能 · 小技巧:宿舍里自娱自乐 |
| · DIY系统:打造移动Win XP · 杂牌摄像头也玩Vista · 在WinXP上运行Vista边栏 |
· 克隆软件Ghost初级使用教程 · [图解]Norton Partition · PowerPoint技巧大集合 |
| · 在VC++应用程序中读取文本 · 使用JBuilder2007开发Web.. · 熊猫烧香核心源码(Delphi) |
· 经验:ASP与存储过程解析 · 节选:快速进入AJAX开发 · Javascript+ASP作无刷新.. |
| · 在Linux 环境下安装 Mysql · Oracle在基于Window操作.. · 每天备份mysql数据的脚本 |
· Photoshop抠图:飘逸秀发.. · 告别雀斑!一个接近自然的 · 用Photoshop美化美女摄像头 |
搜索您感兴趣的内容




