C# 卡普斯洛克酒店;取消申请
我有下面的代码在应用程序启动时更改Caps Lock键的状态 我想在启动应用程序时将Caps Lock状态更改为ON(如果它已经打开,那么它应该保持打开)。当应用程序关闭时,Caps Lock状态应更改为OFF。对于如何实现这一点,有什么建议吗C# 卡普斯洛克酒店;取消申请,c#,capslock,C#,Capslock,我有下面的代码在应用程序启动时更改Caps Lock键的状态 我想在启动应用程序时将Caps Lock状态更改为ON(如果它已经打开,那么它应该保持打开)。当应用程序关闭时,Caps Lock状态应更改为OFF。对于如何实现这一点,有什么建议吗 namespace WindowsFormsApplication2 { public partial class Form1 : Form { [DllImport("user32.dll")] sta
namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
UIntPtr dwExtraInfo);
public Form1()
{
InitializeComponent();
const int KEYEVENTF_EXTENDEDKEY = 0x1;
const int KEYEVENTF_KEYUP = 0x2;
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
(UIntPtr)1);
}
请看这篇文章,了解了解caps lock是否开启的API:- 有关注释,请参见示例:-
AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnExit);
public void OnExit(object sender, EventArgs e)
{
// check and turn caps off if neccessary
}
我觉得这会让你的用户很恼火。我不明白你的问题是什么。(另外,我认为你不能在函数中声明常量。)OK@chrisw69但是当我关闭我的应用程序capslock仍然在plz上时会怎么样?帮助我在c上新建?你可以注册一个事件,使用上述建议检查caps lock是否打开,然后使用你的原始代码关闭caps lock。这个方法正在工作,我在应用程序关闭时会显示一个消息框。但是capslock仍然打开。请告诉我它的确切编码。因为在关闭应用程序时,上面的消息框不起作用。谢谢