c# - Capslock 打开和关闭应用程序

标签 c# capslock

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

我想在启动应用程序时将 Caps Lock 状态更改为 ON(如果它已经处于 ON 状态,则应保持 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);
}

最佳答案

查看 API 的这篇文章以发现大写锁定是否打开:-

How can I find the state of NumLock, CapsLock and ScrollLock in .net?

请参阅注释示例:-

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

public void OnExit(object sender, EventArgs e)
{
    // check and turn caps off if neccessary
}

关于c# - Capslock 打开和关闭应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14987431/

相关文章:

c# - VS2015图标指南-颜色反转

c# - 使用 Context.SaveChanges 时出现异常

javascript - 如何使用 angular.js 检测大写锁定打开/关闭

java - Java中如何区分大小写字母?

c# - 在 XNA 中创建二维多边形

c# - AutoFixture Likeness - 只比较匹配的属性

macos - 如何在 OSX 上重新映射 CAPSLOCK?

Python 3.x - 在 Windows 上获取 caps-lock/num-lock/scroll-lock 的状态

javascript - 检测页面加载时的大写锁定状态(或类似)

c# - 为什么我只*随机*在单个服务器环境中获得 "Validation of viewstate MAC failed"?