3

我有下面的代码来更改应用程序启动时 Caps Lock 键的状态。

我想在启动应用程序时将 Caps Lock 状态更改为 ON(如果它已经打开,那么它应该保持打开)。当应用程序关闭时,Caps Lock 状态应更改为 OFF。关于如何实现这一目标的任何建议?

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);
}
4

1 回答 1

1

看看这篇文章,了解 API 是否打开了大写锁定:-

如何在 .net 中找到 NumLock、CapsLock 和 ScrollLock 的状态?

请参阅示例以获取评论:-

AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnExit);

public void OnExit(object sender, EventArgs e)
{
    // check and turn caps off if neccessary
}
于 2013-02-20T18:39:42.290 回答