gpt4 book ai didi

c# - 发送 Numpad 上的特定键,例如 +、- 或 Enter(模拟按键)

转载 作者:太空狗 更新时间:2023-10-29 21:47:04 25 4
gpt4 key购买 nike

我正在从事一个项目,需要模拟按键以在不同的应用程序中引起特定行为。

使用正在导入的 keybd_event 函数,一切都运行良好(可能有更好的方法,但它运行良好)。

现在我想添加对所有小键盘的特定支持。

看着e。 G。这里http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx或者在 System.Windows.Input.Key 命名空间中,我可以轻松找到 Num0..Num9 以及 NumLock 的键。但是..我找不到 Num/、Num+、NumEnter 等的任何内容。

我编写了一个快速的 froms 应用程序来捕获 keydown 事件,输出事件参数,并得到了一些有趣的结果:

e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None  
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode NumLock e.KeyData NumLock e.KeyValue 144 e.Modifiers None
e.KeyCode Divide e.KeyData Divide e.KeyValue 111 e.Modifiers None
e.KeyCode Multiply e.KeyData Multiply e.KeyValue 106 e.Modifiers None
e.KeyCode Subtract e.KeyData Subtract e.KeyValue 109 e.Modifiers None
e.KeyCode Add e.KeyData Add e.KeyValue 107 e.Modifiers None
e.KeyCode Return e.KeyData Return e.KeyValue 13 e.Modifiers None

Num+ 键(等等)似乎是 Windows 称为功能键的键(如 Num+ 键的 F18)。所以..这很奇怪,但没关系。

但是.. 我无法区分 Enter-Key 和 NumEnter 键。这些对于我的应用程序是不同的,所以我必须为两者发送特定的键码。

这就是我的问题:如何发送普通的回车键以及如何发送 NumEnter 键?

(我不知道这是否有任何区别,我使用的是德语键盘布局。)

感谢任何想法!

最佳答案

我找到了这个 here 对我有用!

protected override void WndProc(ref Message m)
{
if (m.Msg == 256 && m.WParam.ToInt32() == 13)
{ // WM_KEYDOWN == 256, Enter == 13
if ((m.LParam.ToInt32() >> 24) == 0)
{
MessageBox.Show("main enter pressed!");
}
else
{
MessageBox.Show("numpad enter pressed!");
}
}
else
{
base.WndProc(ref m);
}
}

关于c# - 发送 Numpad 上的特定键,例如 +、- 或 Enter(模拟按键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com