首先声明API函数, 然后进行调用,API属性windows程序接口, 精简版一样可以调用。
vb有工具的,在开始菜单里找,可以生成相应的api定义。
做成这样肯定能做,但是很复杂,如果你的水平不到家的话恐怕有难度,不过你可以上网查一下vb的皮肤控件什么的
可以 但是得用好时间控件 可以一起研究下! 用循环+time 控件 就ok 我左右这样的效果 还有一种方式是直接调用api
可以 但是得用好时间控件 可以一起研究下! 用循环+time 控件 就OK 我左右这样的效果 还有一种方式是直接调用API
这么专业的东西你得去专业论坛解决··朋友·· 百度知道看的太少·是平民的天下
应该可以!不过比较麻烦!VB 很强大~只是了解不透彻,我也不会 但是就和vista一样,VB 也可以做出vista的效果
好 这个问题我来答 首先 打开vb 然后在菜单栏找到外接程序 点击 选中里面的外接程序管理器 然后在里面的列表里面 找到vb 6 Api viewer 选中在旁边的加载行为里把在启动时添加和加载/卸载选中 然后点确定 这时候再重新点一下外接程序 发现里面多了个API 浏览器 打开 点文件 加载文本文件 选中里面的win32API.txt 然后发现列表框里出现暴多的API 函数 选中你要的 然后把下面生成的代码复制 粘到你的vb程序代码里面 就完成了调用! 吁~ 一口气 希望能看懂~
在模块或者全局声明一下。。之后照着调用普通函数那样调用就可以了
搜索下 APILOAD.exe ,打开即可 API 声明也在同样的文件夹下,MAPI32.txt 和 WIN32API.txt 编了个DLL要用VB调用,可以放在和你的程序同一个文件夹下面 调用: 例如: Private Declare Sub hookmsg Lib "MYDLL.DLL" Alias "hookmsg1" ()
mapi32里面的声明是发送邮件用的,当然找不到这些声明,应当加载win32那个
但是你说的前两个api好像没有吧,可能是vb6的声明是98年的,太旧的关系
不过最后一个有,是释放dc,所以我想可能你第一个是getdc
第二个肯定没有的啦
如果是VisualBasic 6.0英文版的话,是这样打开的: 点"开始"菜单->>Microsoft Visual Studio 6.0->>Microsoft Visual Studio 6.0 Tools->>API Text Viewer 然后点菜单: File->>Load Text File... 然后通过"打开对话框"找到 "WIN32API" 打开可以了 不用谢啊!并祝你学习进步!
关于API函数的书!市场上太少了!就算是有,也介绍得很粗浅!你到书店好好找找!我没有API函数的好书介绍给你! 谈一下我的心得吧: 首先,有必要向大家讲一讲,什么是API。API是包含在一个附加名为DLL的动态连接库文件中的。用标准的定义来讲,API就是Windows的32位应用程序编程接口,是一系列很复杂的函数,消息和结构,可以说,如果你曾经学过VC,那么API对你来说不是什么问题。但是如果你没有学过VC,或者你对Windows95的结构体系不熟悉,那么可以说,学习API将是一件很辛苦的事情。 如果你打开WINDOWS的SYSTEM文件夹,你可以发现其中有很多附加名为DLL的文件。一个DLL中包含的API函数并不只是一个,数十个,API函数总共大约有110多个。如果要全部掌握!那你非下苦功不可,但实际上,我们真的没必要都掌握,只要重点掌握Windos系统本身自带的API函数就可以了。我可以敢跟你说,只要你熟悉地掌握100个,那么你的编程水平比现在高出至少要两倍。API函数和WINDOWS具有密切的关系,如果你学会了API,首要的收获便是对WINDOWS体系结构的认识。这个收获是来自不易的。 如果你不依靠API会怎么样?我可以跟你说,绝大多是高级编程书本(当然这不是书的名程叫高级而高级的,而是在一开始的《本书内容》中指明《本书的阅读对象是具有一定VB基础的读者》的那些书),首先提的问题一般大都是从API开始。因此可以说,你不学API,你大概将停留在初级水平,无法往上攀登。 很多API函数都是很长很长的。想看什么样子吗?如下就是作为例子的API DdeClientTransaction函数∶ Declare Function DdeClientTransaction Lib "user32" (pData As Byte, ByVal cbData As Long, ByVal hConv As Long, ByVal hszItem As Long, ByVal wFmt As Long, ByVal wType As Long, ByVal dwTimeout As Long, pdwResult As Long) As Long 哇!这么长?如果你从来没有接触过API,我想你肯定被吓住了。你也许考虑,该不该继续学下去。不过不要担心,幸运的是Microsoft的设计家们为我们提供了有用的工具,这便是API 文本查看器。 通过API文本查看器,我们可以方便地查找程序所需要的函数声明、结构类型和常数,然后将它复制到剪贴板,最后再粘贴到VB程序的代码段中。在大多数情况下,只要我们确定了程序所需要的函数、结构和常数这三个方面后,就可以通过对API文本游览器的以上操作将他们加入到程序段中,从而程序中可以使用这些函数了。这些是学习API最基本的常识问题,它远远占不到API的庞大的体系内容。今后我们把精力浪费(这绝不是浪费)在哪里呢?那就是∶ 什么时候使用什么函数,什么时候使用什么结构类型,什么时候使用什么常数。 API函数声明 [返回] 让我们回想一下。在VB中,如何声明函数呢?我想,如果你正在看此文,那么你绝对能够回答得出这个问题。以下便是你应该很熟悉的函数声明∶ Function SetWindowRgn Lib "user32"Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long 即,这行代码定义了名为SetWindowRgn的函数,此函数具有一个Long型数据类型的参数,并按值传递(ByVal),函数执行后将返回一个Long型数据。 API函数的声明也很类似,如,API中的SetWindowRgn 函数是这样写的∶ Public Declare Function SetWindowRgn Lib "user32" Alias "SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long Declare 语句用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。对此,你只要记住任何API函数声明都必须写这个语句就可以了。 Iib 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。 如在上例中,SetWindowRgn Lib "user32"说明 函数 SetWindowRgn 来自 user32.dll文件。主要的dll动态连接库文件有∶ user32.dll Windows管理。生成和管理应用程序的用户接口。 GDI32.dll 图形设备接口。产生Windows设备的图形输出 Kernel32.dll 系统服务。访问操作系统的计算机资源。 注意,当DLL文件不在Windows或System文件夹中的时候,必须在函数中说明其出处( 路径)。如,SetFocus Lib "c:Mydlluser32" 函数声明中的Alias 是可选的。表示将被调用的过程在动态链接库 (DLL) 中还有另外的名称(别名)。如,Alias "SetWindowRgn" ,说明SetWindowRgn函数在User32.dll中的另外一个名称是, SetWindowRgn。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,Alias说明的函数名,即别名最后一个字符经常是字符A,如SetWindowsText函数的另一个名称是 SetWindowsTextA,表示为Alias "SetWindowsTextA"。这个A只不过是设计家们的习惯的命名约定,表示函数属于ANSI版本。 需要注意的是,不是所有的API函数都有别名.选用Alias的时候,应注意别名的大小写;如果不选用Alias 时的时候,函数名必须注意大小写,而且不能改动。当然,在很多情况下,由于函数声明是直接从API 文本游览器中拷贝过来的,所以这种错误的发生机会是很少的,但您有必要知道这一点。 最后提醒你一句,API声明(包括结构、常数)必须放在窗体或模块的"通用(General Declarations)段。 数据类型与"类型安全" [返回] API函数中使用的数据类型基本上和VB中的一样。但作为WIN32的API函数中,不存在Integer 数据类型。另外一点是在API函数中看不到Boolean数据类型。 Variant数据类型在API函数中是以Any的形式出现,如Data As Any。尽管其含义是允许任意参数类型作为一个该API函数的参数传递,但这样做存在一定的缺点。其原因是,这将会使得对目标参数的所有类型检查都会被关闭。这自然会给各种类型的参数调用带来了产生错误的机会。 要学好API函数,还得靠自己去慢慢琢磨,勤钻勤练,领会各个API函数的功能和用法!在实际应用中自然会得心应手,游刃有余!
▲VB不能直接调用Win API,要先声名然后在调用。 ▲ 声明 API 过程 ,比如声名SetWindowTextA 首先,在模块的声明部分对过程进行声明: Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long 过程的精确语法定义可以用 API Viewer 应用程序找到,在 Win32api.txt 文件中也可以找到它。如果将 Declare 放在 Form 或者 Class 模块内,那么必须在它的前面加上 Private 关键字。同一个 API 过程在一个工程中只需声明一次;然后可以任意调用。 ▲调用 API 过程 在声明了函数之后,调用它的方式与标准的 Visual Basic 函数相同。在下例中,Form Load 事件调用了上面声明的过程。 Private Sub Form_Load() SetWindowText Form1.hWnd, "Welcome to VB" End Sub ▲专门介绍Visual Basic调用API的书: 1、机械工业出版社的《Visual Basic 5.0 Win32 API 开发人员指南》,作者Dan Appleman,100多元,但是这方面的经典作品。 2、《Visual Basic开发指南-- Win32 API篇》 3、《Visual Basic Win32API编程》 4、《Visual Basic 6.0 API函数开发实例》 ▲VB 调用API全集 http://www.xuevb.net/modules/news/article.php?storyid=762 参考资料:http://www.itcnw.com/Article/Net/vb/200510/12486.html
declare function flashwindow lib "user32" (byval hwnd as long, byval binvert as long) as long 这个api简单,作用是让窗体标题闪烁。其实你只要记住:在vb里声明api首先新建一个模块,在模块里声明。 declare 语句用于在模块级别中声明对动态链接库 (dll) 中外部过程的引用。对此,你只要记住任何api函数声明都必须写这个语句就可以了。 iib 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。 如在上例中,setfocus lib "user32"说明 函数 setfocus 来自 user32.dll文件。主要的dll动态连接库文件有∶ user32.dll windows管理。生成和管理应用程序的用户接口。 gdi32.dll 图形设备接口。产生windows设备的图形输出 kernel32.dll 系统服务。访问操作系统的计算机资源。 注意,当dll文件不在windows或system文件夹中的时候,必须在函数中说明其出处(路径)。如,setfocus lib "c:mydlluser32" 函数声明中的alias 是可选的。表示将被调用的过程在动态链接库 (dll) 中还有另外的名称(别名)。如,alias "setfocus" ,说明setfocus函数在user32.dll 中的另外一个名称是,setfocus。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,alias说明的函数名,即别名最后一个字符经常是字符a,如setwindowstext函数的另一个名称是setwindowstexta,表示为alias "setwindowstexta"。这个a只不过是设计家们的习惯的命名约定,表示函数属于 ansi版本。 那么,别名究竟有什么用途呢?从理论上讲,别名提供了用另一个名子调用api的函数方法。如果你指明了别名,那么 尽管我们按declare语句后面的函数来调用该函数,但在函数的实际调用上是以别名作为首要选择的。如,以下两个函数(function,abcd)声明都是有效的,他们调用的是同一个 setfocus函数∶ declare function setfocus lib "user32" "setfocus" (byval hwnd as long) as long declare abcd setfocus lib "user32" alias "setfocus" (byval hwnd as long) as long 上面的东西你能理解多少算多少,以后使用的过程中逐渐会明白。你只要记住,新建一个模块,在模块里申明api.使用api要有一个好工具,推荐叶帆的api浏览器。有结构先声明结构。要使用的常数也要声明。 declare function getcursorpos lib "user32" (lppoint as pointapi) as long 比如说这个api函数就需要在api函数前先声明一个结构,否则就出错。 type pointapi x as long y as long end type 这个和自定义结构一样的。 然后就上面那个api函数举例说明一下,先新建一个时间控件,把间隔时间设置为1000毫秒(1秒) 然后写代码。 declare function flashwindow lib "user32" (byval hwnd as long, byval binvert as long) as long 我们来看需要设置的参数 1-hwnd 这里是设置窗体的句柄,这里就用me.hwnd.意思就是自身窗体的句柄。 2-binvert long,true(非零)表示切换窗口标题;false返回最初状态 然后是函数的返回值,注意是long,你如果需要返回值,就要建立一个long的变量。它的返回值:如窗口在调用前处于活动状态,则返回(非零) 然后在在时间控件的timer事件里写如下代码。(你也可以试试返回值,api跟普通函数一样,有参数,有返回值,当需要有返回值,需要括号。b=flashwindow (me.hwnd, true) flashwindow me.hwnd, true 其实api函数非常需要一个好工具,这么多的api函数,结构,常数,没有人能背下来。只有即查即用。
declare function flashwindow lib "user32" (byval hwnd as long, byval binvert as long) as long 这个api简单,作用是让窗体标题闪烁。其实你只要记住:在vb里声明api首先新建一个模块,在模块里声明。 declare 语句用于在模块级别中声明对动态链接库 (dll) 中外部过程的引用。对此,你只要记住任何api函数声明都必须写这个语句就可以了。 iib 指明包含所声明过程或函数的动态链接库或代码资源。也就是说,它说明的是,函数或过程从何而来的问题。 如在上例中,setfocus lib "user32"说明 函数 setfocus 来自 user32.dll文件。主要的dll动态连接库文件有∶ user32.dll windows管理。生成和管理应用程序的用户接口。 gdi32.dll 图形设备接口。产生windows设备的图形输出 kernel32.dll 系统服务。访问操作系统的计算机资源。 注意,当dll文件不在windows或system文件夹中的时候,必须在函数中说明其出处(路径)。如,setfocus lib "c:mydlluser32" 函数声明中的alias 是可选的。表示将被调用的过程在动态链接库 (dll) 中还有另外的名称(别名)。如,alias "setfocus" ,说明setfocus函数在user32.dll 中的另外一个名称是,setfocus。怎么两个名都一样呢?当然,也可以是不同的。在很多情况下,alias说明的函数名,即别名最后一个字符经常是字符a,如setwindowstext函数的另一个名称是setwindowstexta,表示为alias "setwindowstexta"。这个a只不过是设计家们的习惯的命名约定,表示函数属于 ansi版本。 那么,别名究竟有什么用途呢?从理论上讲,别名提供了用另一个名子调用api的函数方法。如果你指明了别名,那么 尽管我们按declare语句后面的函数来调用该函数,但在函数的实际调用上是以别名作为首要选择的。如,以下两个函数(function,abcd)声明都是有效的,他们调用的是同一个 setfocus函数∶ declare function setfocus lib "user32" "setfocus" (byval hwnd as long) as long declare abcd setfocus lib "user32" alias "setfocus" (byval hwnd as long) as long 上面的东西你能理解多少算多少,以后使用的过程中逐渐会明白。你只要记住,新建一个模块,在模块里申明api.使用api要有一个好工具,推荐叶帆的api浏览器。有结构先声明结构。要使用的常数也要声明。 declare function getcursorpos lib "user32" (lppoint as pointapi) as long 比如说这个api函数就需要在api函数前先声明一个结构,否则就出错。 type pointapi x as long y as long end type 这个和自定义结构一样的。 然后就上面那个api函数举例说明一下,先新建一个时间控件,把间隔时间设置为1000毫秒(1秒) 然后写代码。 declare function flashwindow lib "user32" (byval hwnd as long, byval binvert as long) as long 我们来看需要设置的参数 1-hwnd 这里是设置窗体的句柄,这里就用me.hwnd.意思就是自身窗体的句柄。 2-binvert long,true(非零)表示切换窗口标题;false返回最初状态 然后是函数的返回值,注意是long,你如果需要返回值,就要建立一个long的变量。它的返回值:如窗口在调用前处于活动状态,则返回(非零) 然后在在时间控件的timer事件里写如下代码。(你也可以试试返回值,api跟普通函数一样,有参数,有返回值,当需要有返回值,需要括号。b=flashwindow (me.hwnd, true) flashwindow me.hwnd, true 其实api函数非常需要一个好工具,这么多的api函数,结构,常数,没有人能背下来。只有即查即用。
在Visual Stdio 有一个Api Viewer工作 是专门查找API的 然后你可以复制,然后粘贴到自已的VB工程里
2023-12-20 / 1.1
2023-12-19 / 6.0.1
2023-12-19 / 6.0.1
2023-08-25 / v3.1
2023-08-25 / v1.0.3
2023-08-25 / v1.0.1
2023-08-25 / v2.19.1
2023-08-25 / v1.2.0
2023-08-25 / v2.0.1
2023-08-25 / v1.5.1
2023-08-25 / v4.4.0
2023-08-25 / v1.0.03