SendMessage函数,何时使用KEYDOWN,SYSKEYDOWN等? [英] SendMessage, When To Use KEYDOWN, SYSKEYDOWN, etc?

查看:1034
本文介绍了SendMessage函数,何时使用KEYDOWN,SYSKEYDOWN等?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我写信,使用 SendMessage函数击键发送到另一个应用程序的应用程序。

I am writing an application that sends keystrokes to another application using SendMessage.

[DllImport("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, uint wParam, uint lParam);



我一直在尝试了各种争论,我已经注意到,这取决于击键我送,我在不同的参数传递给参数 INT消息

例如,我有以下定义为可能值信息

For example, I have the following defined as possible values for Msg.

private static ushort WM_SYSKEYDOWN = 0x0104;
private static ushort WM_CHAR = 0x0102;
private static ushort WM_KEYDOWN = 0x0100;

和以下被传递到第三个参数的测试键的wParam

and the following test keys that are passed in to the 3rd parameter wParam:

private static ushort VK_F1 = 0x70;
private static ushort VK_A = 0x41;
private static ushort VK_TAB = 0x09;

当我想要发送的<大骨节病> F1 键( VK_F1 ),它仅适用,只要是使用 WM_SYSKEYDOWN ,当我要发送的<大骨节病> A 键它只能当我使用 WM_CHAR ,当我想要发送的<大骨节病> TAB 键,只当我使用的作品 WM_KEYDOWN

When I want to send the F1 key (VK_F1) it only works whenever is use WM_SYSKEYDOWN, when I want to send the A key it only works when I use WM_CHAR, and when I want to send the TAB key it only works when I use WM_KEYDOWN.

我的问题是:是否有一些文件在那里,告诉我什么时候使用 WM_KEYDOWN WM_SYSKEYDOWN 等基于什么键正在发送?也许我这样做是错误的,并没有对任何关键的工作一个一致的方法是什么?

My question is: is there some documentation out there that tells me when to use WM_KEYDOWN, WM_SYSKEYDOWN, etc. based on what key that is being sent? Or perhaps I am doing it wrong and there is one consistent method that works for any key?

推荐答案

微软解释它们之间的区别WM邮件将在此处键盘输入(视窗)

Microsoft explains the difference between these WM messages here Keyboard Input (Windows).

WM_SYSKEYDOWN 模拟系统命令,如<大骨节病> ALT + <大骨节病> TAB 用于切换窗口。

WM_SYSKEYDOWN simulates system commands like ALT + TAB used to switch windows.

WM_CHAR 模拟用户输入就像在一个文本框中输入实例。

WM_CHAR simulates user input like input in a text box for instance.

WM_KEYDOWN 通常与 WM_KEYUP 一起使用。请参见 WM_KEYDOWN消息(视窗)

WM_KEYDOWN is usually used together with WM_KEYUP. See WM_KEYDOWN message (Windows).

最有可能你会想用 WM_CHAR

这篇关于SendMessage函数,何时使用KEYDOWN,SYSKEYDOWN等?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆