要发送组合键,可以使用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组合键的操作。你可以根据需要修改按键码和扫描码来发送其他组合键。