3

アプリケーションの起動時に 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);
}
4

1 に答える 1

1

Caps Lock がオンになっているかどうかを検出するための 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 に答える