在为我的应用程序搜索一些快捷方式时,我偶然发现了C#Keys enumeration中的一些常量:
MSDN上没有关于他们的进一步信息
问题是:哪个键盘键对应那些值?
(它们是否采用标准键盘布局?)
答案 0 :(得分:4)
VK_SELECT
是大多数键盘上不存在的 Select 键的关键代码。我很确定我没见过。
您可以通过调用MapVirtualKey功能来检查键盘是否支持它,该功能可以将虚拟键码映射到键盘扫描码。如果函数返回0,则表示没有映射。
我创建了一个Windows Forms应用程序来说明这一点。只需创建一个表单并挂钩KeyDown处理程序:
using System;
using System.Runtime.InteropServices;
using System.Windows.Forms;
namespace testoForm
{
public partial class Form1 : Form
{
[DllImport("user32")]
static extern UInt32 MapVirtualKey(UInt32 nCode, UInt32 uMapType);
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
ShowKey(e.KeyCode);
}
private void ShowKey(Keys key)
{
var keyCode = (UInt32)key;
var scanCode = MapVirtualKey(keyCode, 0);
var s = String.Format("VK = {0:X2}, SC={1:X2}", keyCode, scanCode);
MessageBox.Show(s);
}
private void button1_Click(object sender, EventArgs e)
{
ShowKey(Keys.Select);
}
}
}
如果按某个键,消息框将显示密钥代码和映射的扫描代码。我添加了一个按钮,显示 Select 键的扫描码。在我的系统上,函数为Keys.Select
返回0。
答案 1 :(得分:0)
在微软论坛上浏览时,人们说SELECT键是键盘上的回车键。我找到了一个网站列出了你所指的密钥,并简要阐述了它们的含义。 http://cherrytree.at/misc/vk.htm