找回密码
 开放注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

搜索
查看: 1640|回复: 2

应用程序编程接口:API函数到五

[复制链接]

264

主题

210

回帖

621

牛毛

一级牛人

要不  我也改

积分
621
发表于 2008-7-28 19:59:04 | 显示全部楼层 来自 陕西省西安市
应用程序编程接口:API函数第五课


今天教大家写一个获取指定句柄PID的软件
用到的是GetWindowThreadProcessId
第一个参数是要得到PID的句柄
第二个参数是一个LONG的变量,用来装PID吧
还是老样子,我们来声明函数
今天就是样子,以后再教大家写点复杂的,大家别嫌简单啊,哈哈

485

主题

3564

回帖

70

牛毛

初生牛犊

积分
70
发表于 2008-7-28 20:14:17 | 显示全部楼层 来自 辽宁省营口市
不错 都是你自己做的吗?

264

主题

210

回帖

621

牛毛

一级牛人

要不  我也改

积分
621
 楼主| 发表于 2008-7-28 19:57:22 | 显示全部楼层 |阅读模式 来自 陕西省西安市
应用程序编程接口:API函数第一课


一、API是什么?
  这个我本来不想说的,不过也许你知道其它人不知道,这里为了照顾一下新手,不得不说些废话,请大家谅解。

  Win32 API即为Microsoft 32位平台的应用程序编程接口(Application Programming Interface)。所有在Win32平台上运行的应用程序都可以调用这些函数。

  使用Win32API,应用程序可以充分挖掘Windows的32位操作系统的潜力。Mircrosoft的所有32位平台都支持统一的API,包括函数、结构、消息、宏及接口。使用 Win32 API不但可以开发出在各种平台上都能成功运行的应用程序,而且也可以充分利用每个平台特有的功能和属性。

  
   以上为API的相关介绍,不过有些新手看了以后可能还是不怎么明白API到底有什么用?这里请不要着急,如果你有足够耐心的话,请慢慢往下看。

二、如何使用API?

  估计这才是大家真正关心的,那么如何使用API呢?在了解API之前,先打开你的VB书,翻到过程函数这章来,在搞清楚API之前应该先搞懂过程函数是怎么一回事!如果你还不知道过程的工作方式,那么请先不要急着往下看,那样容易走很多弯路。

  好了,当你理解了过程函数时,也就是你可以使用API的时候了,别把API看得太难,你就像使用过程函数一样使用API就可以了。首先,让我们看看一个简单的API,以下:

  Private Declare Sub Sleep Lib \"kernel32\" Alias \"Sleep\" (ByVal dwMilliseconds As Long)

  以上这个API的呢是起一个延时作用。你如果是刚接触API的话可能会感到API的书写及其复杂,而且会感到很不适应。其实这没什么的,慢慢习惯就好了。至于API这些复杂的书写你就不用操心了,在你安装VB的时候微软已经帮我们带上了API浏览器,这些全部都可以利用API浏览器帮我们自动生成。API浏览器的位置位于[开始菜单-程序-Microsoft Visual Basic 6.0 中文版-Microsoft VisualBasic 6.0 中文版工具-API文本浏览器]。打开API浏览器,在最上面的一个文本框中输入Sleep,这时下面列表框中就会自动显示相应的API函数,然后点右边添加按钮即可,接着点击复制按钮,这时你就可以用Ctrl+V把声明的API添加到VB代码窗口中了。

  这里我要说一下,有些新手可能还弄不明白。API的声明范围一般有两种模式,一种是Private(私有的),一种是Public(公用的)。一般Private是声明在类模块或窗体类中,Public声明在模块中。你在添加API的时候,添加按钮下面就有API的声明范围,可以根据自己的需要进行添加。这里我们一般选择私有的(Private)就可以了。

今天教大家写一个用API函数得到当前鼠标坐标的程序,通过这个程序希望大家学会使用API函数的方法
首先我们查看手册可以知道这个函数的作用和参数等等
再打开API文本浏览器
lpPoint As POINTAPI POINTAPI,随同指针在屏幕像素坐标中的位置载入的一个结构
这个函数加入了一个新的数据类型
然后我们再看看
这就是引用函数着的声明
然后我用调用函数
后面只跟一个参数,这个参数一定要是POINTAPI
就是把鼠标的坐标都记录在这个变量里
大家学好了API才能真正的写出控制电脑的软件
Private Declare Function GetCursorPos Lib \"user32\" (lpPoint As POINTAPI) As Long

Private Type POINTAPI
x As Long
y As Long
End Type

Private Sub Timer1_Timer()
Dim a As POINTAPI’定义一个数据类型为POINTAPI的变量
GetCursorPos a’把所有的坐标给A
Me.Caption = \"X=\" & a.x & \"Y=\" & a.y’显示坐标
End Sub
提醒一下大家,在函数声明的时候一定要选上私有
您需要登录后才可以回帖 登录 | 开放注册

本版积分规则

帮助|Archiver|小黑屋|通信管理局专项备案号:[2008]238号|NB5用户社区 ( 皖ICP备08004151号;皖公网安备34010402700514号 )

GMT+8, 2025-1-13 07:35 , Processed in 0.117804 second(s), 28 queries , Yac On.

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表