【C语言】SendInput 函数

本文介绍了如何利用C语言调用Windows API中的SendInput函数,实现如WIN+D这样的组合键操作,从而进行窗口管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


UINT SendInput(  UINT nInputs,   LPINPUT pInputs,   int cbSize ); 

typedef struct tagINPUT {
    DWORD   type;

    union
    {
        MOUSEINPUT      mi;
        KEYBDINPUT      ki;
        HARDWAREINPUT   hi;
    };
} INPUT, *PINPUT, FAR* LPINPUT;

typedef struct tagKEYBDINPUT {
    WORD    wVk;
    WORD    wScan;
    DWORD   dwFlags;
    DWORD   time;
    ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, FAR* LPKEYBDINPUT;



举例:WIN+D 实现组合键


	INPUT input[4];
	memset(input, 0, sizeof(input));

	input[0].type = input[1].type = input[2].type = input[3].type = INPUT_KEYBOARD;  //设置键盘模式

	input[0].ki.wVk  = input[3].ki.wVk = VK_LWIN;
	input[1].ki.wVk  = input[2].ki.wVk = 'D';
	
	input[2].ki.dwFlags = input[3].ki.dwFlags = KEYEVENTF_KEYUP;

	SendInput(4, input, sizeof(INPUT));


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值