gpt4 book ai didi

python - 发送到 Citrix 应用程序时在 Python 脚本中模拟硬件按键(SendKeys 不起作用)

转载 作者:行者123 更新时间:2023-11-30 19:30:48 31 4
gpt4 key购买 nike

过去两天我花了很多时间试图弄清楚如何将 Ctrl-Space 发送到 Citrix 上运行的应用程序。我的脚本是基于Python的,我尝试了从SendKeys到Pywin32和SendInput()的各种解决方案,以及这些帖子中概述的解决方案以及我早已关闭的其他解决方案: Generate Keyboard events in python SendInput

问题是这些似乎都在发送文本或模拟按键,而 Citrix 无法识别。我似乎需要做的是模拟硬件按键,而不是直接发送到应用程序。许多解决方案都是用 C (或类似的)语言编写的,我对此并不熟悉。

有人有基于 Python 的解决方案吗?或者在 Python 中包含 C 或 VB.NET 代码的方法?列出了一个 VB 解决方案 here这可能有效,也可能无效,但我不确定如何将其功能导入到我的基于 Python 的脚本中。

如有任何建议,我们将不胜感激!

编辑:为了强调直接硬件操作而不是模拟按键的需要,我向 Citrix 应用程序发送了以下命令:

        SendInput(Keyboard(VK_RETURN))
SendInput(Keyboard(VK_RETURN, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_CAPITAL))
SendInput(Keyboard(KEY_L))
SendInput(Keyboard(KEY_L, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_CAPITAL, KEYEVENTF_KEYUP))
SendInput(Keyboard(KEY_0))
SendInput(Keyboard(KEY_0, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_SPACE))
SendInput(Keyboard(VK_SPACE, KEYEVENTF_KEYUP))
SendInput(Keyboard(KEY_A))
SendInput(Keyboard(KEY_A, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_BACK))
SendInput(Keyboard(VK_BACK, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_CONTROL))
SendInput(Keyboard(KEY_A))
SendInput(Keyboard(KEY_A, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_CONTROL, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_LCONTROL))
SendInput(Keyboard(KEY_V))
SendInput(Keyboard(KEY_V, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_CONTROL, KEYEVENTF_KEYUP))
SendInput(Keyboard(VK_RETURN))
SendInput(Keyboard(VK_RETURN, KEYEVENTF_KEYUP))

我在应用程序中得到以下输出:=tbd7w\=

最佳答案

我终于找到了有用的东西:Keyboard

这成功地将击键(包括修饰符)发送到 Citrix 应用程序。如上所述发送 CTRL-SPACE 就像 Keyboard.send('ctrl-space') 一样简单。希望这对某人有帮助!

关于python - 发送到 Citrix 应用程序时在 Python 脚本中模拟硬件按键(SendKeys 不起作用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50029691/

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