gpt4 book ai didi

c# - 在另一个应用程序中模拟按键和按键释放?

转载 作者:行者123 更新时间:2023-11-30 14:43:35 26 4
gpt4 key购买 nike

我需要与正在运行的外部应用程序交互,并发送特定的按键和释放。我试过使用 SendKeys 类,但它只完成了一半的工作,因为按键是通过立即释放键发送到外部应用程序的。

我需要能够为外部应用程序模拟“按键按下”。我现在正在尝试使用 SendMessage 东西,但现在它根本不起作用 :( 而且我什至没有收到错误。

最佳答案

好的,案子解决了。我实际上安装了 VC++ 来尝试核心 keybd_event() 函数,在它工作之后我能够在 C# 中明智地使用它。

这是代码,令人惊讶的是它非常简单。您需要将此使用添加到代码中才能导入 dll:using System.Runtime.InteropServices;

此代码将按住“1”按钮 3 秒,然后松开 1 秒并重复该过程。

(代码突出显示搞砸了:/,从“命名空间...”复制到最后一个括号“}”)

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

private static void Main(string[] args)
{
while (true)
{
keybd_event((byte)0x31, (byte)0x02, 0, UIntPtr.Zero);
Thread.Sleep(3000);

keybd_event((byte)0x31, (byte)0x82, (uint)0x2, UIntPtr.Zero);
Thread.Sleep(1000);
}
}
}

关于c# - 在另一个应用程序中模拟按键和按键释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1777184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com