gpt4 book ai didi

c++ - 模拟按下的快捷方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:56:05 25 4
gpt4 key购买 nike

抱歉,我必须以这种迂回的方式描述功能,但我不知道如何最好地实现所需的功能*

我有一个简单的程序,可以在按下全局热键时将一些数据放入剪贴板。用户通常的用例是直接将该文本粘贴到 Photoshop 中的文本字段中。 IE。 - 假设 ctrl-x 调用全局热键 - 他们一直在执行 ctrl-x ctrl-v。显然这是糟糕的设计。

那么基本模拟 ctrl-v 事件以便 Photoshop 无需额外按键即可直接粘贴文本的最简单方法是什么?

因为 winapi 标签暗示我在这里不关心 Mac。必须在 Win 7 下工作,与 XP/Vista 的兼容性将是一个明确的优势。脚本的其余部分是用 Python3 和 PyQt4 编写的,但如果需要,我也可以编写一些 c 扩展。

PS:欢迎大家对标题有更好的想法来改进它。

*而且我想避免实现问题的简单一半然后提出不可能的问题的陷阱。

最佳答案

使用SendInput()。我没有对此进行测试,但它应该可以工作:

INPUT ctrlV [4];
ZeroMemory(ctrlv, sizeof ctrlV);

ctrlV [0].type = INPUT_KEYBOARD;
ctrlV [0].ki.wVk = VK_LCONTROL;

ctrlV [1].type = INPUT_KEYBOARD;
ctrlV [1].ki.wVk = 'V'; //assuming ASCII

ctrlV [2].type = INPUT_KEYBOARD;
ctrlV [2].ki.wVk = 'V'; //assuming ASCII
ctrlV [2].ki.dwFlags = KEYEVENTF_KEYUP;

ctrlV [3].type = INPUT_KEYBOARD;
ctrlV [3].ki.wVk = VK_LCONTROL;
ctrlV [3].ki.dwFlags = KEYEVENTF_KEYUP;

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

关于c++ - 模拟按下的快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10555018/

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