您的位置首页百科知识

C++怎么发送某个按钮的消息

C++怎么发送某个按钮的消息

的有关信息介绍如下:

C++怎么发送某个按钮的消息

使用WINDOW API 里的SendMessage函数。

例如:

SendMessage(hwndTargetApplication, WM_SYSCOMMAND, SC_MAXIMIZE, 0);

hwndTargetApplication:目标程序的句柄

WM_SYSCOMMAND:消息通知码

SC_MAXIMIZE:消息附加项

上面这个API是向某个目标程序发送一个窗体最大化指令。

哎,又是你小子,不是做好事的 又想用API干坏事的人.

按下组合键Alt+N

PostMessage hwnd,WM_KEYDOWN,vbKeyAlt,0 '按下Alt

PostMessage hwnd,WM_KEYDOWN,vbKeyN,0 '按下N

'抬起组合键Alt+N

PostMessage hwnd,WM_KEYUP,vbKeyAlt,0 '抬起Alt

PostMessage hwnd,WM_KEYUP,vbKeyN,0 '抬起N

'按下F3

PostMessage hwnd,WM_KEYDOWN,vbKeyF3,0 '按F3

PostMessage hwnd,WM_KEYUP,vbKeyF3,0

如果对普通的窗口发送就直接sendkeys,如果对高级一点的窗口发就用KEYBOARD_EVENT这个API函数,如果对高级游戏窗口发送按键消息一般就要用到驱动级WINIO模拟按键了,不知道你想用哪种我给一个keyboard_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 vbKeyUp, 0, 0, 0 '按下↑键

keybd_event vbKeyUp, 0, 2, 0 '释放↑键 这里模拟按上下方向键你自己改一下就行了

SendMessage Platform SDK的函数原型似乎该是这样

LRESULT SendMessage(

HWND hWnd, // handle to destination window

UINT Msg, // message

WPARAM wParam, // first message parameter

LPARAM lParam // second message parameter

);

而且,发送按键值一般用 WM_CHAR 捕获后在窗口过程函数中处理

个人见解^_^

这个也会被限制的,操作频繁有可能被腾讯封号哦

晕,你看一下MSDN啊,里面有参数介绍的。

每个键也有其键值,比如VK_UP(方向键上) VK_F1(F1键) 'a'(相当于按键A)

要调用API才行