postmessage_postmessage. mfc_postmessage用法

电脑杂谈  发布时间:2017-02-28 15:12:27  来源:网络整理

PostMessage是Windows API(应用程序接口) 中的一个常用函数,用于将一条消息放入到消息队列中。

Windows NT: 3.1及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:winuser.h;输入库:user32.lib;Unicode:在Windows NT环境下以Unicode和ANSI方式实现。postmessage

调用范例:VB

例:游戏挂机,如果一个简单的游戏挂机只需要点击鼠标就可以,那我们就可以用VB做一个简单的外挂,用SetCursorPos()

等函数把鼠标移动到指定的位置上点击,但这样的话,游戏界面就一定要在前台,但如果用postmessage()函数的话,就算是游戏已经最小化了,仍然可以将鼠标点击事件发送到游戏中,这就是postmessage的好处!试试下面的例子:

'API 声明

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

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

'常量声明

Private Const WM_LBUTTONDBLCLK = &H203

Private Const WM_LBUTTONDOWN = &H201

Private Const WM_LBUTTONUP = &H202

Private Const WM_MBUTTONDBLCLK = &H209

Private Const WM_MBUTTONDOWN = &H207

Private Const WM_MBUTTONUP = &H208

Private Const WM_RBUTTONDBLCLK = &H206

Private Const WM_RBUTTONDOWN = &H204

Private Const WM_RBUTTONUP = &H205

Private Sub Command1_Click()

Dim lpClassName As String, lpWindowName As String,hWndX as Long

lpClassName = "这里填写游戏窗口的类名"’用VB企业版自带的SPY++工具可以查看游戏窗口的类名和标题

lpWindowName = "这里填写游戏窗口的标题"

hWndX = FindWindow(lpClassName, lpWindowName)'这一步获得游戏窗口的句柄,发送消息时需要

Dim wMsg As Long, wParam As Long, lParam As Long, Rx As Long,xx as Integer,yy as Integer


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-35012-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...