




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
WIN32常用API函数简介什么是API,在此不做赘述,做编程,不懂API,不知其可也!在此列举常用API,及其通常用法: 西门吹雪1:sleep,这个也算是最简单的吧,用于延时,即程序运行至此处,休息片刻声明:Private Declare Sub Sleep Lib kernel32 Alias Sleep (ByVal dwMilliseconds As Long)用法:sleep 1000休息一秒,后边的参数单位是毫秒2:keybd_event ,发送按键,模拟键盘操作,常用于自动化设计,释放你的双手声明:Private Declare Sub keybd_event Lib user32 (ByVal bVk As Byte, ByVal Scan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)用法:keybd_event vbKeyE, 0, 0, 0按下E键keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0弹起E键严格来说。单键就是一个按下配合一个弹起,但在非功能键参与的情况下后者可省,keybd_event vbKeyE, 0, 0, 0即可。组合键的用法如下:keybd_event VK_CONTROL, 0, 0, 0按下CTRL键keybd_event vbKeyE, 0, 0, 0按下E键keybd_event vbKeyE, 0, KEYEVENTF_KEYUP, 0弹起E键keybd_event VK_CONTROL, 0, KEYEVENTF_KEYUP, 0弹起CTRL键这是同时按下了CTRL和E组合键,当然在这里弹起动作就不能省了,此外:键码都需要提前声明才能用,包括KEYEVENTF_KEYUP在内,详细码表请参照笔者另外一篇文章键盘码表。3:GetCursorPos,获取鼠标所在位置,常用于智能判断声明:Private Declare Function GetCursorPos Lib user32 (lpPoint As POINTAPI) As Long用法:先声明结构体,因为其参数是一个包含X坐标,Y坐标的数据类型,声明如下:Private Type POINTAPIX As LongY As LongEnd TypeDim lpPoint As POINTAPI然后调用GetCursorPos lpPoint,可得到lpPoint.X, lpPoint.Y两个数据。4:WindowFromPoint,获取鼠标光标处目标的句柄,跟上个函数搭配使用,什么是句柄?很抽象的一个东西,自己查吧,很重要的一个东西,是一个long型数据。声明:Private Declare Function WindowFromPoint Lib user32 (ByVal xPoint As Long, ByVal yPoint As Long) As Long用法:Dim hwnd As Longsp = WindowFromPoint(lpPoint.X, lpPoint.Y)结合GetCursorPos 函数,hwnd 即为鼠标下目标的句柄。5:ShowWindow ,用于显示某窗口,常用于自动化操作,需要事先知道该窗口的句柄声明:Private Declare Function ShowWindow Lib user32 (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long用法:ShowWindow hwnd , SW_NORMAL调出某窗口以正常尺寸显示,第一个参数hwnd 是句柄,后边是窗口显示样式,该参数声明同见键盘码表。6:GetWindowText ,获取某窗口标题,需要事先知道该窗口句柄声明:Private Declare Function GetWindowText Lib user32 Alias GetWindowTextA (ByVal hwnd As Long, ByVal lpstring As String, ByVal cch As Long) As Long用法:Dim lpstr As Stringlpstr = Space(255)让lpstr足够长,先放255个空格进去GetWindowText hwnd , lpstr, 255hwnd 为该窗口句柄,调用后把句柄为hwnd 的窗口的标题置于变量lpstr中,用的时候需要去除lpstr里的空格,如:RTrim(lpstr)。7:SendMessage,向某窗口发送消息,可用于类似QQ自动聊天,需要事先知道该窗口的句柄声明:Private Declare Function SendMessage Lib user32 Alias SendMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long用法:Dim a As Stringa = 人生若只如初见!SendMessage hwnd , WM_SETTEXT, 0, ByVal a向句柄为hwnd 的窗口发送字符串a,Const WM_SETTEXT = &HC需要提前声明,如果异常,可去掉或加上参数a前的修饰符ByVal 。此外,这里边有一个误区,该函数可以向任意目标发送消息,如一个QQ聊天窗口,若你得到的是该窗口的句柄,那么调用结果是修改了整个窗口的标题,正确方式是,向该QQ聊天窗口的子窗口-编辑框发消息,它同样是有句柄的。当然,腾讯已经在此做了限制,防止外挂,可以用笔者刚才介绍的第二个函数keybd_event解决此限制,先将字符串置入剪切板,再发送按键ALT+V粘贴进该窗口完成自动输入。8:mouse_event ,鼠标操作,非常实用的一个函数,常用于自动化,释放你的双手声明:Private Declare Sub mouse_event Lib user32 (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)用法:mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0按下左键mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0弹起左键,和键盘操作一样是两个动作。 Const WM_LBUTTONDOWN = &H201,Const WM_LBUTTONUP = &H202,这两个常量需要提前声明。这部分功能更详尽的用法请参考笔者的其他文章。9:SetCursorPos ,设置鼠标光标位置,可和mouse_event 搭配使用,自动化操作声明:Private Declare Function SetCursorPos Lib user32 (ByVal X As Long, ByVal Y As Long) As Long用法:SetCursorPos X, Y把鼠标光标设置到坐标为X,Y的位置,可先用GetCursorPos函数(刚介绍的,没忘吧)得到鼠标当前位置lpPoint.X, lpPoint.Y,然后移动到相对位置,如SetCursorPos lpPoint.X + 500, lpPoint.Y - 500,把鼠标移动到了它的右上方。10:GetWindowTextLength ,获取指定窗口标题长度,常用于精确获取窗口标题,需要事先知道该窗口句柄声明:Private Declare Function GetWindowTextLength Lib user32 Alias GetWindowTextLengthA _(ByVal hwnd As Long) As Long用法:Dim sSave As String, Ret As LongRet = GetWindowTextLength(hwnd)sSave = Space(Ret)GetWindowText hwnd, sSave, Ret + 1和G
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配电线路知识培训课件
- 酒店服务质量提升
- 用友管理信息化课堂薪资管理
- 2025年吉林长春市普通高中高三五月月考历史试题试卷含解析
- 上海市闵行区2025年第二学期初三英语试题期末教学质量(一模)监测卷含答案
- 河南省安阳市安阳县一中2025年高三3月联考英语试题含解析
- 广州涉外经济职业技术学院《艺术实践(3)》2023-2024学年第二学期期末试卷
- 泉州纺织服装职业学院《园艺学通论》2023-2024学年第二学期期末试卷
- 清远市2025届四下数学期末教学质量检测试题含解析
- 最有潜力的行业
- 《环境设计工程计量与计价》课件-1.什么是装饰工程预算
- 品管圈PDCA案例-提高乳腺外科术区引流管固定合格率
- 2024年度MCN机构与达人专属合作合同3篇
- 《城市治安管理存在的问题及优化建议:温州市鹿城区为例》9400字(论文)
- 2025年高考语文备考之思辨型作文和作文的思辨性
- 陪诊培训课件
- 《无人机培训教材》课件
- 《手术分级管理制度》课件
- 移动成都分公司城区营业厅物业管理投标书
- 回收太空垃圾
- 打印一张离婚协议书范文表格
评论
0/150
提交评论