VB6最完整API函数类型库(VB6免API声明)

  勇芳 2016-7-17 10565

VB6 使用API时,必须先声明,这是百年不变的常识

不过有VB大神改变了这常识,让VB6 直接使用API,而不用声明。


是一个QQ网名叫: 甜软可口棉花糖(1037431656)  完成,让我们向他致敬!


以下是他本人的原话:


消失了两年然后我又冒个泡,这次共享个库。
之前yjryym做过一些类型库,后来我也想多找几个人一起完成API函数大全的tlb,一开始是两个人,后来自己独搞了,因为无法统一标准。不过也得感谢他已经完成几百个函数了。所以从2014年陆续开始添加,到今天完成,历时两年,除了将vb自带的全部声明添加进类型库,还添加并实测了很多vb6API浏览器中缺少、但又很实用的API函数。共计3432个函数声明,除开重载声明以及字符串的AW版本之分,也至少有2200+。常量全部在tlb中,且无重复,复制函数都还好,复制结构体和复制常量
是件很烦人的事情。不多说了,先上个截图:

引用方法:


下载方法:

QQ群:78458582 (Basic编程学习资料) (收费入群)

在群文件中,文件太多,可以用查找帖子主题的部分字找到你要的资源。


最新回复 (2)
    您需要登录后才可以回帖 登录 | 注册
  • 1500785819 2016-7-22
    0 引用 3

    表示看不懂,但还是先赞一个!

  •   勇芳 2016-7-17
    0 引用 2

    2016年7月17日

    对所有常量去重复完成

    Win32API.tlb工程正式完成。

    tlb以后的CLSID以及version注册版本不会再修改,以后更新的tlb您可以直接替换文件


    注:因工程量巨大,难免会有bug,以后使用过程中逐渐修复,欢迎联系作者,本人唯一QQ:1037431656

    本工程作者QQ:1037431656 82850696,特别致谢百度vb吧的yjryym


    2016年7月10日

    添加3000+常数声明

    重新归类常数所在模块

    添加所有常量


    2016年6月25日

    修正CreateStreamOnHGlobal函数声明错误

    紧急修正GDI+和GDI系列以及ole32部分函数名、参数名的命名错误200余处,将之前的PoLONG修正为Point

    原因是合作者使用有bug的正则导致命名错误。


    2016年6月23日

    修改结构体INPUT的名字与vb关键字重名的问题,使用别名INPUTAPI


    2016年6月19日

    修正OleCreatePictureIndirectPic函数命名错误

    正式为tlb更名:“Win32API之vb6头文件”

    当前版本号:“2016-6-19添加更新”


    2016年6月12日

    修正StringFromCLSID StringFromGUID2 ProgIDFromCLSID CLSIDFromString 

    CLSIDFromProgIDEx CLSIDFromProgID等函数的参数类型错误问题

    添加msvcrt部分函数

    添加数据类型:

    intptr_t       = vb的long

    size_t         = vb的long


    2016年6月11日

    添加结构体POINT的别名“POINTAPI”。msdn本来是POINT,但vb中全部采用POINTAPI,

    为保持兼容性,给POINT添加别名POINTAPI

    添加ntdll部分函数

    添加psapi.dll全部函数

    至此,tlb中包含的声明达到3423条

    添加数据类型:

    NTSTATUS       = vb的long


    2016年6月7日

    正式版tlb发布,版本名称“2016-6-7完整3370条API函数重大更新”,至此,tlb中包含的声明达到3370条

    丢弃2条vb自带的函数声明,这两条是从win2000就已淘汰的API声明,dll中已找不到

    添加285条vb声明以及需要使用的多个结构体

    vbAPI转换项目完成,至此,vb6自带的所有函数声明已全部包含

    发现多处vb6自带声明错误、导入点错误问题,并在tlb中以正确方式声明


    2016年6月4日

    添加230条vb声明以及需要使用的多个结构体


    2016年6月3日

    添加170条vb声明以及需要使用的多个结构体


    2016年6月2日

    添加180条vb声明以及需要使用的多个结构体


    2016年4月24日

    修正UUID GUID CLSID结构体不能实例化的问题

    命名GUID结构体,为其添加别名:UUID CLSID IID,解决实例化问题

    添加数据类型:

    BOOL            = vb的long 

    (注:注意BOOL不等于bool或者Boolean。很多人以为BOOL就像Boolean一样)

    (然后把BOOL声明成枚举类型{TRUE,FALSE},其实这是错误的)

    (MSDN原始定义:BOOL是三值逻辑类型,大于0,小于0,等于0,占用4字节)

    INT16           = vb的Integer

    INT32           = vb的long

    INT64           = vb的Currency

    LPSTR=char*     = vb的String

    LPWSTR=wchar_t* = vb的String


    2016年4月2日

    修正SafeArrayGetDim SafeArrayGetDimL SysAllocString SysAllocStringLen SysFreeString

    OleCreatePictureIndirec等函数的声明错误

    使用正则表达式,修正所有函数返回类型不能被vb6正确识别的函数


    2016年1月

    更改重载版本的函数命名规则

    使用正则表达式,修正所有函数命名规则

    dll导入点是A版(ANSI)                                  ——  函数添加后缀A

    dll导入点是W版(Unicode)                               ——  函数添加后缀W

    msdn标准声明                                          ——  函数名用原始名字

    msdn标准声明带指针的,重载版本声明为byval long        ——  函数名添加后缀L

    msdn标准声明带指针的,重载版本声明为byref long        ——  函数名添加后缀P

    msdn标准声明是字符串指针,重载版本声明为byval long    ——  函数名添加后缀L、S、Str

    msdn标准声明是void*,重载版本声明为byref any          ——  保持原始声明不变

    msdn标准声明是IDispatch*,重载版本声明为byref object  ——  函数名添加后缀Obj

    msdn标准声明参数中带IUnknown*                         ——  函数参数一律byval long

    msdn标准声明参数中带IUnknown**                        ——  函数参数一律byref long


    2015年11月

    修正kernel32 user32 gdi32 oleaut32 ole32 gdiplus中的指针参数错误


    2015年8月

    添加130+条vb自带声明

    修正VarPtr GetWindowText ShowWindow CopyMemory等函数声明

    修正SendMessage PostMessage的函数命名规则


    2015年7月底

    为部分函数的常量值组合成枚举类型,这样在IDE中写代码时有自动提示

    发现vb自带的API浏览器中很多函数仍然没有被tlb包含

    启动vb6API转换项目


    2015年7月

    陆续添加1300左右函数声明,此时共包括2500+条声明

    包括advapi32 shlwapi oleaut32 ole32 msvbvm60 mpr wininet netapi32 ntdll winsock

    msimg32 kernel32 gdi32 urlmon 等函数


    2015年6月

    解决DWORD WORD char LPARAM WPARAM HWND HDC HINSTANCE等等相关数据类型的识别问题

    添加comdlg32 Comctl32等函数


    2015年4月

    第一版tlb发布,但随后发现无符号相关的数据类型vb6无法正常识别

    工程进入兼容性测试阶段

    Win32Api.tlb工程项目由两人共同完成,转变为独自一人继续维护、添加


    2015年2月底

    使用正则表达式初步修正各版本的函数命名规则,添加300+常量声明


    2015年2月

    添加600+条常用API,包括kernel32 user32 oleaut32 ole32等声明


    2015年1月

    添加GDI+系列函数声明

    初步命名tlb名称:“Win32API and GdiPlus类型库”


    2014年12月

    初步完成500+条函数入口点修正

    结构体重名问题,初步采用再次命名法临时解决


    2014年11月底

    确定工程的CLSID:{13fc9823-115e-4cb2-9a02-881895942e28},可进入注册表编辑器查找此子键

    由两个人共同完成添加500+条API函数声明,入口点修正

    但因结构体重名问题,无法正常编译


    2014年11月初

    启动Win32API.tlb工程项目,参考于网上各种版本的API相关tlb

    但各自都不完整,甚至有些明显导入点不正确


返回