什么是Microsoft Visual FoxPro?

Microsoft Visual FoxPro (short VFP) is a programming language with it’s own IDE and database, ranking somewhat between Access and VB.NET + SQL Server (Express).

Microsoft Visual FoxPro(简称VFP)是一种编程语言,具有自己的IDE和数据库,在Access和VB.NET + SQL Server(Express)之间的排名有些不同。

Product Description: http://msdn.microsoft.com/en-us/vfoxpro/default.aspx

产品说明: http : //msdn.microsoft.com/ zh-cn / vfox 赞成/反对 t.aspx

FAQ: http://msdn.microsoft.com/en-us/vfoxpro/bb190289

常见问题解答: http//msdn.microsoft.com/ zh-cn / vfox pro / bb1902 89

As in many other MS pogramming languages the "Visual" does not denote a visual programming language in the strict meaning of the term, but a visual programming  environment with visual form designers. Before FoxPro was bought by Microsoft and upgraded to Visual Foxpro, there was FoxPro DOS and also UNIX and MAC versions, the DOS version was mainly used, and so UNIX and MAC versions were dropped. The added "Visual" mainly denotes VFP has a visual IDE and supports Windows UI. This is still limited to Winforms, WPF or Silverlight are a DotNet exclusive.

与许多其他MS制图语言一样,“ Visual”并不是严格意义上的视觉编程语言,而是具有视觉表单设计者的视觉编程环境。 在Microsoft收购FoxPro并将其升级为Visual Foxpro之前,有FoxPro DOS以及UNIX和MAC版本,主要使用DOS版本,因此删除了UNIX和MAC版本。 添加的“ Visual”主要表示VFP具有可视化IDE,并支持Windows UI。 这仍然仅限于Winforms,WPF或Silverlight是DotNet专有的。

从VFP开始付费吗? (Does It Pay To Begin With VFP?)

VFP于2007年停产,VFP处于Microsoft支持生命周期的最后一个支持阶段(称为扩展支持),该阶段于2015年1月结束。Microsoft不再销售VFP,主要是因为它随后需要做出超出该期限的担保。支持日期。

Microsoft rather recommends to take a look at VS Lightswitch 2011. I don’t agree, as this does not give a comparable experience, neither for VFP developers nor newbies. It integrates into the full VS, but itself rather is aimed for application generation by wizards and assistants and templates than for development of larger scale applications. It partly covers, what VFP also offers, as VFP also has wizards and builders, but you better cope without them.

Microsoft宁愿建议您看一下VS Lightswitch2011。我不同意,因为这对于VFP开发人员和新手来说都无法提供可比的体验。 它集成到了完整的VS中,但是它本身的目的是通过向导,助手和模板来生成应用程序,而不是用于大规模应用程序的开发。 它部分涵盖了VFP还提供的功能,因为VFP还具有向导和生成器,但是如果没有它们,您会更好地应对。

What I agree is, VFP is not a language you should begin learning anymore, despite needing it to convert and migrate it. VFP has grown from the eighties to 2006, not resulting in an elegant overall architecture. It's having a steep learning curve for that matter and for not being very compact and lightweight. The steep learning curve also goes for DotNet but obviously pays more due to it's future perspectives. You can make up for this using third party application frameworks, which will make you more productive, but less learning VFP than the framework architecture. And of course there is a helpful community mentoring and helping you to go in the right directions, if you still choose to learn VFP. But the same options go for DotNet, too, again.

我同意,尽管需要VFP进行转换和迁移,但VFP不再是您应该开始学习的语言。 VFP从80年代发展到2006年,但并未形成一个优雅的整体架构。 就此而言,它具有陡峭的学习曲线,并且不是非常紧凑和轻巧。 陡峭的学习曲线也适用于DotNet,但由于其未来的前景,显然付出了更多。 您可以使用第三方应用程序框架来弥补这一点,这将使您比框架体系结构更高效,但学习VFP更少。 当然,如果您仍然选择学习VFP,则可以进行有益的社区指导,并帮助您朝正确的方向前进。 但是,DotNet同样也有同样的选择。

As a developer newbie wanting to do a databased application, either go Access for really small apps, for which you can live without OOP classes, etc, or go for the real deal VS.NET - even just the Express versions offer a good consistent architecture.

作为想使用数据库应用程序的开发人员新手,可以访问非常小的应用程序(可以在没有OOP类的情况下就可以使用Access),或者使用真正的VS.NET-甚至Express版本也提供了一个良好的一致体系结构。

For VFP developers, though, which have not yet migrated and extended their know how, VFP is still a good tool to create and maintain small to medium size database applications with a magnitude of 100 users and even better scalable, when using an SQL Server as backend database instead of native database files.

但是,对于尚未迁移和扩展其专门知识的VFP开发人员,当使用SQL Server作为工具时,VFP仍然是创建和维护中小型数据库应用程序的好工具,该应用程序可容纳100个用户,甚至具有更好的可伸缩性。后端数据库而不是本机数据库文件。

The FoxPro community is still rather active for being 5 years past discontinuation and a VFPX project formed on Codeplex around Sedna extensions generously released by Microsoft to the public domain, which were developed so far in the aim of VFP 10.

FoxPro社区在停产5年后仍然相当活跃,并且在Codeplex上围绕Microsoft慷慨地向公共领域发布的Sedna扩展形成了一个VFPX项目,该项目是迄今为止针对VFP 10开发的。

And besides this, VFP developers of course look for successors of VFP, which is the topic of the final section of this article.

除此之外,VFP开发人员当然会寻找VFP的后继者,这是本文最后一节的主题。

简而言之,数据库 (The Database in short)

VFP表是免版税的,每个文件的限制为2GB。 根据此定义,数据库没有整体大小限制,但是您需要查看增长最快的表以及存档或拆分数据。

Backup and Restore can obviously be done on the file level, any backup software can be used, ideally off-hours, or choose something with a snapshot feature.

显然,备份和还原可以在文件级别上完成,可以使用任何备份软件,最好是下班时间,也可以选择具有快照功能的备份。

VFP is no database server, every client directly accesses the table files, even if you introduce a so called database container (DBC), this merely is a lookup table itself containing some meta data info about the tables belonging to the database, eg their file names. It also contains stored procs (including DML triggers) and dbc events (DDL triggers). Both types of triggers can make use of the full VFP language.

VFP不是数据库服务器,即使您引入了所谓的数据库容器(DBC),每个客户端也可以直接访问表文件,这仅仅是一个查找表本身,其中包含有关属于该数据库的表的一些元数据信息,例如它们的文件名称。 它还包含存储的proc(包括DML触发器)和dbc事件(DDL触发器)。 两种类型的触发器都可以使用完整的VFP语言。

VFP data also supports transactions, which work without an sql server and are communicated to other clients by making use of several file lock types. Manual table and row locks also enable you to do manual locking and VFP also offers buffering of changes instead of or additional to transactions. VFP transactions only conform to three ACID properties Atomicity, Consistency and Isolation, but not to Durability. No transaction logs are written, in case of a system failure, the result is loss of transactional data, meaning a roll back to the pre transaction state. At least that's making transactions fail gracefully. The same goes for buffered changes.

VFP数据还支持事务,该事务无需sql服务器即可工作,并通过使用几种文件锁类型与其他客户端进行通信。 手动表和行锁定还使您能够进行手动锁定,并且VFP还提供了对更改的缓冲,而不是事务的附加或附加的事务。 VFP事务仅符合三个ACID属性“原子性”,“一致性”和“隔离”,但不符合持久性。 如果系统发生故障,则不会写入任何事务日志,其结果是丢失事务数据,这意味着回滚到事务前的状态。 至少这使事务正常地失败了。 缓冲的更改也是如此。

Like Access, VFP can also link to external databases via ODBC drivers or OLEDB Providers.

与Access一样,VFP也可以通过ODBC驱动程序或OLEDB提供程序链接到外部数据库。

简而言之编程语言 (The Programming language in short)

该编程语言与Visual Basic语言相比,并支持过程和OOP编程样式。 它是动态类型的,静态数据是强类型的,函数和表达式是强类型的,除了数字类型的一些隐式类型转换外,它们不会做。

Like Java, VFP is compiled into object code consisting of tokenized byte code. These byte tokens are run by the vfp runtime, which does no further just in time compilation on the specific cpu architecture an exe or dll runs. This makes VFP an interpreter with a precompiler rather than a compiler language, still you compile to EXE and DLL and need nothing but Windows and the runtimes to run a VFP executable.

像Java一样,VFP被编译成由标记化字节代码组成的目标代码。 这些字节令牌是由vfp运行时运行的,该运行时不会在exe或dll运行的特定cpu体系结构上进行及时的编译。 这使VFP成为具有预编译器而不是编译器语言的解释器,仍然可以编译为EXE和DLL,并且仅需Windows和运行时即可运行VFP可执行文件。

You can create n-tier applications with VFP by it's OOP nature and COM support.

您可以通过VFP的OOP性质和COM支持来创建n层应用程序。

利弊 (Pros and Cons)

优点 (Pros)

VFP is OOP, it offers not as much oop features as DotNet, but much more than Access with it's class modules. VFP offers the most important of course: inheritance. It also supports private and hidden methods or properties, but no interfaces and no events can be user generated.

VFP是OOP,它不像DotNet那样提供oop功能,但比Access的类模块要多得多。 VFP当然提供了最重要的:继承。 它还支持私有和隐藏的方法或属性,但是用户无法生成任何接口和事件。

VFP is very resource friendly, yet quite capable in working on several GB data (comparable to SQL Express or LocalDB). The VFP9 IDE can be used in Win2k or later and created EXEs can be used in Win98 or later.

VFP非常资源友好,但能够处理多个GB数据(与SQL Express或LocalDB相比)。 VFP9 IDE可以在Win2k或更高版本中使用,而创建的EXE可以在Win98或更高版本中使用。

VFP databases are royalty free, no CALs nor CPU licenses are needed.

VFP数据库是免版税的,不需要CAL或CPU许可证。

VFP has SQL built in, it's part of the language, not seperate command strings you send to databases. It compiles and verifies at that stage.

VFP内置了SQL,它是语言的一部分,而不是发送到数据库的单独的命令字符串。 它在该阶段进行编译和验证。

VFP offers a feature of macro substitution, which means single line code generated and compiled at runtime, but even COMPILE is a command the runtime supports.

VFP提供了宏替换的功能,这意味着在运行时生成和编译单行代码,但即使COMPILE也是运行时支持的命令。

Interoperability end Extensibility: VFP supports ODBC and COM/OLE and is capable to connect to remote databases, do OLE automation of office applications and any other OLE automatable applications besides of course parameterized command line calls to other executables. You can also make use of COM DLLs and stdcall function DLLs. The latter in a special form of FLLs can also expand the instruction set with Functions.

互操作性端可扩展性:VFP支持ODBC和COM / OLE,并且能够连接到远程数据库,对Office应用程序和任何其他OLE可自动化应用程序进行OLE自动化,当然还包括对其他可执行文件的参数化命令行调用。 您还可以使用COM DLL和stdcall函数DLL。 后者以FLL的特殊形式也可以通过功能扩展指令集。

VFP supports Webservices, eg via Soap Toolkit or third party XML Tools, both as server or client, and if you just use MS COM XML parsers and serialisers.

VFP支持Web服务,例如通过Soap Toolkit或第三方XML工具作为服务器或客户端,以及是否仅使用MS COM XML解析器和序列化器。

VFP can build COM Server DLLs, including multithreaded DLLs. These also can form the base of web services, which can be published via the Soap Toolkit or manually via DCOM/COM+ in IIS, some third party extensions bring VFP to the web this way.

VFP可以构建COM服务器DLL,包括多线程DLL。 这些也可以构成Web服务的基础,可以通过Soap Toolkit发行,也可以通过IIS中的DCOM / COM +手动发布,某些第三方扩展以这种方式将VFP引入了Web。

缺点 (Cons)

Unicode support is very limited to a few string functions for conversion, the OS API offers more, there is no native control to display Unicode, but VFP supports ActiveX controls. VFP-Tables are generally coed in ANSI code pages including support of fontcharsets/scripts, which means double byte ANSI charsets. There are no Unicode field types, too, but binary field types can store anything, including Unicode texts, of course.

Unicode支持仅限于一些用于转换的字符串函数,OS API提供了更多功能,没有显示Unicode的本机控件,但VFP支持ActiveX控件。 VFP表通常包含在ANSI代码页中,其中包括对fontcharsets / scripts(即双字节ANSI charset)的支持。 也没有Unicode字段类型,但是二进制字段类型当然可以存储任何内容,包括Unicode文本。

Security: VFP Databases can be encrypted using third party tools or the Windows Crypto API, but access rights or roles on the data have to be implemented on the NTFS file access permissions level.

安全性:可以使用第三方工具或Windows Crypto API对VFP数据库进行加密,但是必须在NTFS文件访问权限级别上实现数据的访问权限或角色。

Stability: DBFs have a bad reputation to often become defect. So do MDBs. Proper used, this is just partially correct. The most often header defect can be repaired with native VFP code, and there are third party tools to repair tables and related files. In single user mode on local HDDs, FoxPro databases are usable maintenance free, as most all defects have their root in concurrent file access and network errors, which then of course don't occur.

稳定性:DBF的声誉不好,经常会成为缺陷。 MDB也是如此。 正确使用,这只是部分正确。 最常见的标头缺陷可以用本机VFP代码修复,并且有第三方工具可以修复表和相关文件。 在本地HDD上的单用户模式下,FoxPro数据库无需维护即可使用,因为大多数缺陷都源于并发文件访问和网络错误,这些错误当然不会发生。

Size limitations: As already discussed, there is no overall limit but a per 2GB per file limit.

大小限制:如前所述,没有整体限制,但是每个文件2GB的限制。



VFP的后继者 (Successors of VFP)

有很多针对VFP开发人员的候选人,他们正在寻找新的方向。 主要有四个类别:

1。 (1. )

与VFP一样的语言是从原始dBase或Clipper演变而来的,即xBase ++和xHarbour。

2。 (2. )

VFP本身及其社区扩展,即Codeplex的VFPX和其他一些副项目

3。 (3. )

FoxInCloud是基于Foxpro的一些基于云的替代产品,其目的不是迁移语言,而仅仅是迁移基础架构。 ActiveVFP和VFP2IIS也是如此。 Lianja支持Fox作为一种语言和Servoy,该语言面向Java开发人员,并且本身就是基于Java的。

4。 (4. )

重新实现Foxpro的工作包括Guineu(基于DotNet的VFP运行时,将VFP引入Windows Mobile或其他DotNet Framework支持的平台,用于.NET的VFPCompiler将Foxpro代码编译为.NET应用程序和程序集,以及将Visual FreePro作为其中的新候选人)我没有提到Java和DotNet是继任者,因为它们是他们自己的同盟。它们无疑是一个不容忽视的大选择,但LightSwitch的功能缩小并不适合VFP开发人员。当然可以使您进一步进入企业联盟。

数据库迁移 (Database Migration)

从MySQL到Oracle,可以轻松地将VFP数据转换并扩展到任何服务器数据库。 如前所述,VFP可以利用ODBC驱动程序和OLEDB提供程序,从而打开所有第三方数据库。 当然,MS SQL Server是VFP数据的一个很好的新家。

There is much more to say about this, for example it’s getting more complex, if the VFP database also has stored procedures, we’re back on the topic of migrating application code.

关于这一点,还有很多要说的,例如,它变得越来越复杂,如果VFP数据库还具有存储过程,那么我们就回到了迁移应用程序代码的主题。

Still aside of stored procedures migration one thing to mention here is Sybase Advantage Database Server, which offers a newer 32bit and 64bit ODBC driver also usable for native VFP9 data, as long as no stored procs are involved.

除了存储过程迁移之外,这里还要提到的一件事是Sybase Advantage Database Server,它提供了更新的32位和64位ODBC驱动程序,只要不涉及存储过程,它们也可用于本机VFP9数据。

翻译自: https://www.experts-exchange.com/articles/10670/What-is-Microsoft-Visual-FoxPro.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此文件是MyFll.fll文件不可分割的一部分,包含对MyFll函数库全部说明及示例。 MyFll是专为Microsoft Visual FoxPro设计的扩展库,部分函数来自任明汉(RMH myF1论坛)前辈提供的myDll代码翻译而成,由于很多功能利用VFP处理比较烦锁,或无法实现,使用此库可有效解决VFP的弱项。部分与Win32Api同名的函数,是Win32API的封装。部分函数取自网上开源算法,在相关函数中均有注明。 此源代码使用VC6 sp6开发,采用VFP9 Sp2的库文件,理论上可以应用于VFP6 7 8 9版本。 此库在第一次打开时自动添加智能感应功能已关闭。请在打开后,使用FllAddFoxCode()向智能感应库添加所有的函数原型(需要VFP7以上),此库存所有函数使用VFP推荐的命名规则,一般可以根据函数名和知能感应的提示参数来推测参数及返回值。 开发环境可以使用FllHelp()函数来检查函数信息: 取得此版本函数个数:FllHelp() 取得第x个函数的信息:?FllHelp(x) 显示提示信息:?FllHelp(x,.T.) 显示指定函数的信息:FllHelp("SendMessage",.T.) 显示Fll的版:?FllGetVersion() 添加智能感应代码:FllAddFoxCode() 版本信息:由于不定期更新,请及时核对版本(右键属性),版本为X.X.X.X,第一位为主版本号,第二位为函数个数,第三位为发布的年份,第四位为日期。当前版本为:1.179.9.811 版权:你可以自由使用、散发此函数库及此帮助,包括应用于你的商业软件中。在转发时应注意帮助文件于函数库和帮助同在。不得对软件进行破解、反编译等破性或逆向工程。MyFll作者不承担可能由于技术原因或失误给你带来的错误或损失。发现错误可以与作者取得联系共同改进。 感谢:我的帮助论坛http://www.myf1.net/bbs 梅子论坛 http://www.meizvfp.com/bbs 感谢:各位为Myfll做测试、编写帮助的热心网友。 作者:木瓜 ljyit@163.com 函数列表: 硬件相关函数: GetDiskSerial        读取指定硬盘的序列号 GetCpuId           读取CPU的序列号 GetMAC            读取网卡的MAC地址 GetVolumeNumber       读取指写磁盘的卷标 IsDiskInDrive        检查指定磁盘是否就绪 GetPort           读取系统的串口、并口 ComOpen           打开串口 ComWrite           向串口输出信息 ComRead            从串口读取信息 ComClose           关闭串口 GetGUID            获取全球唯一ID AEthernet          枚举网卡的所有信息 加密解密函数: MD5File           计算一个文件的MD5效验和 MD5String          计算一个字符串的MD5效验和 CRC32File          计算一个文件的CRC32效验和 CRC32String         计算一个字符串的CRC32效验和 des             采用DES算法加密或解密一个字符串,长度为8位 des16            采用DES算法加密或解密一个字符串,长度为16位 des24            采用DES算法加密或解密一个字符串,长度为24位 EnDeString          双向加密解密字符串的函数 Encrypt           双向加密解密字符串 RSACalc           RSA计算函数 RSAGen            生成随机RSA密钥函数 RSACmp            比较两个十六进制值是否相等 URLEncode          URL编码 URLDecode          URL解码 QPEncode           Quoted-Printable QP编码 QPDecode           Quoted-Printable QP解码 压缩解压函数: Zip              压缩文件 UnZip             解压文件 UnZipFile           解压单个文件           ZipInfo            测试一个文件是否在压缩文件中存在 ZipFileToStr         将压缩文件中的文件解压到变量 ZipAFile           将zip文件中的文件信息生成的数组 CompressString        压缩一个字符串 DeCompressString       解压字符串 数据库: CursorToStr         将Cursor生成变量 ChangesToStr         将Cursor的变动情况生成变量         StrToCursor         将变量还原为Cursor AppendFromStr        将变量中的表追加到指定表中 ACursorList         将变量中的表信息生成数组 ACursorFields        将变量中的指定表的字段信息生成数组 CRC32Record         计算一条记录的CRC32值 SQLCallBack         SQL回调函数载入 SQLCallReset         SQL回调函数卸载 PackMDB           压缩修复Access数据库 ReadMemo           读取vfp中大于16M的备注字段 网络相关函数: DownFile           从internet上下载文件到本地 DownFileX           线程方式从网上下载一个文件 HttpGetFileSize       读取internet上的文件大小 HttpPostData         向http服务器Post数据 HttpOpen           打开一个Internet句柄 HttpAddParms         为Http句柄添加一个参数 HttpSend           发送Http句柄中的Post数据 HttpClose          关闭Http句柄 FtpDownFile          从FTP服务器下载文件 FtpUploadFile        向FTP服务器上传文件 FtpConnect          连接FTP服务器 FtpDisconnect        断开FTP服务器连接 FtpAFile          枚举Ftp中的所有文件 FtpCreateDir        在FTP服务器上创建一个文件夹         FtpSetCurrentDir      设置当前的文件夹 FtpDeleteDir        删除FTP服务器上的文件夹 FtpDelFile         删除FTP服务器上的文件 FtpRename          重命名FTP服务器上的文件 FtpFOpen          打开FTP服务器上的文件 FtpFClose         关闭FTP服务器上的文件 FtpFRead          读取FTP服务器上的文件 FtpFWrite          写入FTP服务器上的文件 FtpSetPasv          设置FTP被动工作模式 ShareAdd           在局域网共享文件夹 ShareDel           删除共享文件夹的共享 ShareMapDrive         映射网络驱动器 ShareDelDrive         删除映射的网络驱动器 GetLocalIP          读取本机IP DomainToIP          转换域名为IP地址 DialUp            建立拨号连接 DialDown           断开拨号连接 GetSqlServer         列出所有网络上的SQL Server IpToMAC           根据IP得到MAC地址 邮件函数: SmtpCreate          创建一个SMTP发送邮件的句柄 SmtpNewMail         在内存中创建邮件内容,等待发送 SmtpSend           发送邮件 SmtpGetLastError       检测邮件最后的错误 Pop3Create          创建一个POP3接收邮件的句柄 Pop3Close          关闭句柄 Pop3AMailList        枚举POP3服务器上的邮件数量 Pop3DeleteMail        删除POP3邮件服务器上的邮件 Pop3GetMail         下载一封邮件 Pop3GetMailHeader      下载邮件头 Pop3DeleteMail        删除服务器上的邮件 打印相关函数: PaperAdd           添加自定义纸张并返回ID PaperDel           删除自定义纸张 PaperInfo          读取所有纸张信息或指定纸张信息 APaper            枚举所有纸张生成数组 GetDefaultPrinter      取得默认打印机的名称 SetDefaultPrinter      设置默认打印机 PrinterOpen         启用一个打印任务 PrinterOutPage        打印页对像 PrinterClose         结束打印 常用转换函数: ToPY             生成指写字符串的拼音首字 NToC             数字转人民币大写 hzbh             计算指定字符串的汉字笔划 StringToDword        将高底位存放的字符串,转换为字符型 DwordToString        将整型数值转换为字符型数值 NumConver          进制转换函数,能够将一个数字转换为2至36进制的字符串 ConverNum           将指定进制的字符串转换为数值型 GB2312ToBIG5         简体转繁体 BIG5ToGB2312         繁体转简体 FormToBmp          将表单保存为BMP图片 RectToBmp           指定屏幕区域保存为bmp图片 StrReverse          指定屏幕区域保存为bmp图片 ImageConver         转换图片格式 FTrim            删除字符串中除指定字符以外的字符 Thumbnail          缩放图片 注册表读写函数: regRead           读取注册表中的设置 regWrite           向注册表中写入设置 regDelKey          删除注册表中的分支 regDelValue         删除注册表中的设置 ini文件读写函数: iniRead           从ini文件中读取设置 iniWrite           向ini文件中写入一个设置 iniSet            设置默认的数据段和ini文件 iniSetSection        设置默认的数据段 iniSetFileName        设置默认的ini文件 系统托盘 SysTrayAdd          向系统托盘添加一个图标 SysTrayEdit         修改系统托盘的图标 SysTrayDel          删除系统托盘中的图标 HotKeyAdd          向系统注册一个热键 HotKeyDel          删除向系统注册的热键 SysTrayShowMessage      显示托盘消息 文件操作 CopyFiles          复制文件 MoveFiles          移动文件 DeleteFiles         删除文件 CreateShortcut        创建快捷方式 GetIcon           释放exe或dll中的图标 其它: SetVFPEvents         设置MYFLL内部函数回调功能 SetDateTime         设置Windows系统时间 ChangEres          更改屏幕的分辨率 idleLoad           开始加载空闲检测 idleSeconds         读取系统空闲时间 idleUnload          卸载空闲检测 KillApp           终止指定进程 KillAllApp          终止所有进程,但排除指定标题的进程 KillProcessByName      根据程序文件名杀死一个进程 FindAllFile         查找指定文件夹下的所有文件 IsNum            检测函数是否是数字 CheckProcess         检测主程序是否重复运行 ProcLoad            载入一个VFP函数,取得函数地址 ProcUnload          卸载函数 MemRead           读取指定地址的内存 MemWrite           写入指写内存 PushError          系统错误处理压栈 PopError           系统错误处理出栈 Format            格式化输出字符串(类C语言) CreateLink          创建文件关联 DesktopHide         隐藏桌面 SystemKeySet         禁用系统键 RegisterFile         注册文件名解除文件注册 封装过的Win32 API函数: FindWindow          查找指定窗口的句柄 SendMessage         向指写窗口发送指定消息 PostMessage         将消息投递到指定句柄的消息队列 ShowWindow          显示指定窗口 ShowWindowAsync       显示指定窗口 SetWindowLong        设置窗口的扩展样式 SetLayeredWindowAttributes  设置窗口效果 SetForegroundWindow     激活指定窗口使这成为最前面的窗口 ShellExecute         调用系统关联,打开一个文件 ShellExecWait        调用一个程序,并等待执行结束 SuspendThread        暂停一个线程 ResumeThread         恢复一个线程 Beep             使电脑内喇叭发出beep声 ExitWindowsEx        退出Windows Sleep            程序挂起nMilliseconds毫秒 ExitProcess         终止当前进程 GetLastError         返回最后的错误号码 SetParent          设置窗口的父窗口 UpdateWindow         更新窗口

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值