温馨提示×

c# keybd_event 如何发送组合键

c#
小樊
132
2024-07-18 20:10:25
栏目: 编程语言

要发送组合键,可以使用keybd_event函数来模拟键盘按键操作。keybd_event函数接受四个参数:按键码、扫描码、按键状态和附加标志。

以下是一个示例代码,演示如何发送Ctrl+C组合键:

using System;
using System.Runtime.InteropServices;

class Program
{
    [DllImport("user32.dll")]
    public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);

    const int KEYEVENTF_KEYDOWN = 0x0;
    const int KEYEVENTF_KEYUP = 0x2;
    const byte VK_CONTROL = 0x11;
    const byte VK_C = 0x43;

    static void Main()
    {
        // 按下Ctrl键
        keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYDOWN, UIntPtr.Zero);
        // 按下C键
        keybd_event(VK_C, 0, KEYEVENTF_KEYDOWN, UIntPtr.Zero);
        // 松开C键
        keybd_event(VK_C, 0, KEYEVENTF_KEYUP, UIntPtr.Zero);
        // 松开Ctrl键
        keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, UIntPtr.Zero);
    }
}

在这个示例中,我们先按下Ctrl键,然后按下C键,最后释放C键和Ctrl键,从而模拟了Ctrl+C组合键的操作。你可以根据需要修改按键码和扫描码来发送其他组合键。

0