gpt4 book ai didi

c# - 编程多个自定义剪贴板,使用 Windows 剪贴板 - 很少有并发症

转载 作者:可可西里 更新时间:2023-11-01 09:37:49 25 4
gpt4 key购买 nike

我正在尝试构建一个 C# 后台应用程序,该应用程序将 Hook 键盘击键(例如 CAPS + (A/B/C/....))以充当许多不同剪贴板的副本。

首先,我寻找了一个类似于 CTRL+V 的 Windows 方法:直接粘贴完整的字符串。我也试过 SendInputs 来“粘贴”,错误的想法是执行时间太长。由于没有找到任何商品,我决定使用 Windows 剪贴板。

场景是(当我做 CAPS+A 时)

  • 缓存剪贴板的内容以便稍后检索
  • 模拟 CTRL+C
  • 获取剪贴板的内容并将其设置为对应于'A'键的变量
  • 将剪贴板设置为默认缓存值。

这在我使用记事本时效果很好。但是当在另一个应用程序上执行 CTRL+C 时,我在第 3 步得到异常 CLIPBRD_E_CANT_OPEN(整整 5 秒,我的应用程序无法访问剪贴板)

我的问题:- 有没有一种方法可以向 Windows 发送一个信号,让它“粘贴”一些给定的文本,就像 CTRL+V 一样,而不使用 Windows 剪贴板?- 有没有办法强制剪贴板在 5 秒内返回到我的应用程序?- 我错过了更智能的场景吗?

谢谢!

最佳答案

先看看这个拦截Keys:

[DllImport("user32.dll")]
public static extern int GetAsyncKeyState(long vKey);

VK_CONTROL = 0x11
VK_SHIFT = 0x10
C 键 = 0x43

如果按下某个键,该函数返回一个整数值>0。

关于c# - 编程多个自定义剪贴板,使用 Windows 剪贴板 - 很少有并发症,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24980649/

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