函数库说明:myFll是增强VFP的扩展函数库,部分与RMH的myDll中功能相同(名称可能不同)的函数,是由RMH提供的myDll源码改进而来。一些和Win32API名称相同的函数,是在FLL中对Win32API的封装,在VFP中可以直接调用,并可以省略掉一些默认的参数。一些与算法相关的函数,都取自网上开源的代码,帮助中均有注明。
线程函数:部分函数以大写X结尾的函数,均是多线程函数,一般提供多线程的函数都会提供一个单线程的版本。由于线程间通信比较麻烦,均以消息传递的方式通信,因此线程函数需要VFP9以上版本支持(消息绑定)。
版权问题:myFll可以自由使用,任意改名及加壳(发布的这个版本里没有加壳,不过你可以使用upx、aspack之类的加壳),以及自由转发,转发时应注意与帮助文件同时转发。myFll作者不承担可能由于技术原因给你带来的错误或损失。发现错误可以与作者取得联系共同改进。
包含进EXE编译:理论上,FLL文件是可以直接包含进VFP编译的exe文件,此版本的FLL也没有做任何限制。但是,部分函数未经过全面测试,涉及多线程、系统勾子的函数,
使用帮助:myFll发布附带有中文CHM格式帮助,使用示例及参数说明,请查阅帮助。开发环境中可以按如下方式取得部分帮助信息:
取得此版本函数个数:FllHelp()
取得第x个函数的信息:?FllHelp(x)
显示提示信息:?FllHelp(x,.T.)
显示指定函数的信息:FllHelp("SendMessage",.T.)
智能感应器:
第一次打开myfll,(VFP命令 set library to myfll),会向你的智能感应库中添加所有的函数原型,由于VFP6不支持智能感应,在VFP7以上系统中,可以有如下效果:
此主题相关图片如下:
函数列表(133):
硬件相关函数:
GetDiskSerial 读取指定硬盘的序列号
GetCpuId 读取CPU的序列号
GetMAC 读取网卡的MAC地址
GetVolumeNumber 读取指写磁盘的卷标
IsDiskInDrive 检查指定磁盘是否就绪
GetPort 读取系统的串口、并口
ComOpen 打开串口
ComWrite 向串口输出信息
ComRead 从串口读取信息
ComClose 关闭串口
加密解密函数:
MD5File 计算一个文件的MD5效验和
MD5String 计算一个字符串的MD5效验和
CRC32File 计算一个文件的CRC32效验和
CRC32String 计算一个字符串的CRC32效验和
des 采用DES算法加密或解密一个字符串,长度为8位
des16 采用DES算法加密或解密一个字符串,长度为16位
des24 采用DES算法加密或解密一个字符串,长度为24位
EnDeString 双向加密解密字符串的函数
Encrypt 双向加密解密字符串
RSACalc RSA计算函数
RSAGen 生成随机RSA密钥函数
RSACmp 比较两个十六进制值是否相等
压缩解压函数:
Zip 压缩文件
UnZip 解压文件
ZipInfo 测试一个文件是否在压缩文件中存在
ZipFileToStr 测试一个文件是否在压缩文件中存在
CompressString 压缩一个字符串
DeCompressString 解压字符串
数据库:
SQLCallBack SQL回调函数载入
SQLCallReset SQL回调函数卸载
PackMDB 压缩修复Access数据库
网络相关函数:
DownFile 从internet上下载文件到本地
DownFileX 线程方式从网上下载一个文件
HttpGetFileSize 读取internet上的文件大小
HttpPostData 向http服务器Post数据
HttpOpen 打开一个Internet句柄
HttpAddParms 为Http句柄添加一个参数
HttpSend 发送Http句柄中的Post数据
HttpClose 关闭Http句柄
FtpDownFile 从FTP服务器下载文件
FtpUploadFile 向FTP服务器上传文件
ShareAdd 在局域网共享文件夹
ShareDel 删除共享文件夹的共享
ShareMapDrive 映射网络驱动器
ShareDelDrive 删除映射的网络驱动器
GetLocalIP 读取本机IP
DomainToIP 转换域名为IP地址
DialUp 建立拨号连接
DialDown 断开拨号连接
GetSqlServer 列出所有网络上的SQL Server
IpToMAC 根据IP得到MAC地址
邮件函数:
SmtpCreate 创建一个SMTP发送邮件的句柄
SmtpNewMail 在内存中创建邮件内容,等待发送
SmtpSend 发送邮件
SmtpGetLastError 检测邮件最后的错误
SmtpClose 关闭句柄
打印相关函数:
PaperAdd 添加自定义纸张并返回ID
PaperDel 删除自定义纸张
PaperInfo 读取所有纸张信息或指定纸张信息
GetDefaultPrinter 取得默认打印机的名称
SetDefaultPrinter 设置默认打印机
常用转换函数:
ToPY 生成指写字符串的拼音首字
NToC 数字转人民币大写
hzbh 计算指定字符串的汉字笔划
StringToDword 将高底位存放的字符串,转换为字符型
DwordToString 将整型数值转换为字符型数值
NumConver 进制转换函数,能够将一个数字转换为2至36进制的字符串
ConverNum 将指定进制的字符串转换为数值型
GB2312ToBIG5 简体转繁体
BIG5ToGB2312 繁体转简体
FormToBmp 将表单保存为BMP图片
RectToBmp 指定屏幕区域保存为bmp图片
注册表读写函数:
regRead 读取注册表中的设置
regWrite 向注册表中写入设置
regDelKey 删除注册表中的分支
regDelValue 删除注册表中的设置
ini文件读写函数:
iniRead 从ini文件中读取设置
iniWrite 向ini文件中写入一个设置
iniSet 设置默认的数据段和ini文件
iniSetSection 设置默认的数据段
iniSetFileName 设置默认的ini文件
系统托盘
SysTrayAdd 向系统托盘添加一个图标
SysTrayEdit 修改系统托盘的图标
SysTrayDel 删除系统托盘中的图标
HotKeyAdd 向系统注册一个热键
HotKeyDel 删除向系统注册的热键
文件操作
CopyFiles 复制文件
MoveFiles 移动文件
DeleteFiles 删除文件
CreateShortcut 创建快捷方式
GetIcon 释放exe或dll中的图标
其它:
SetDateTime 设置Windows系统时间
ChangEres 更改屏幕的分辨率
idleLoad 开始加载空闲检测
idleSeconds 读取系统空闲时间
idleUnload 卸载空闲检测
KillApp 终止指定进程
KillAllApp 终止所有进程,但排除指定标题的进程
FindAllFile 查找指定文件夹下的所有文件
IsNum 检测函数是否是数字
CheckProcess 检测主程序是否重复运行
ProcLoad 载入一个VFP函数,取得函数地址
ProcUnload 卸载函数
MemRead 读取指定地址的内存
MemWrite 写入指写内存
PushError 系统错误处理压栈
PopError 系统错误处理出栈
Format 格式化输出字符串(类C语言)
CreateLink 创建文件关联
封装过的Win32 API函数:
FindWindow 查找指定窗口的句柄
SendMessage 向指写窗口发送指定消息
PostMessage 将消息投递到指定句柄的消息队列
ShowWindow 显示指定窗口
ShowWindowAsync 显示指定窗口
SetWindowLong 设置窗口的扩展样式
SetLayeredWindowAttributes 设置窗口效果
SetForegroundWindow 激活指定窗口使这成为最前面的窗口
ShellExecute 调用系统关联,打开一个文件
ShellExecWait 调用一个程序,并等待执行结束
SuspendThread 暂停一个线程
ResumeThread 恢复一个线程
Beep 使电脑内喇叭发出beep声
ExitWindowsEx 退出Windows
Sleep 程序挂起nMilliseconds毫秒
ExitProcess 终止当前进程
GetLastError 返回最后的错误号码
SetParent 设置窗口的父窗口
UpdateWindow 更新窗口
使用帮助及下载
老版本中,CompressFile和DeCompressFile已被删除,不再做为myFll的一部分发布。推荐使用Zip、UnZip、ZipInfo替代。
此两个函数,被单独编译,并开放源码,点击这里下载: