首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Citrix Xenapp -Sendkey

Citrix Xenapp -Sendkey
EN

Stack Overflow用户
提问于 2014-09-30 12:19:15
回答 1查看 2.7K关注 0票数 1

我一直试图(有限的资源)使用VBScript和VBA命令将键盘函数发送到远程citrix终端。-正如我所发现的,这是一个已知的限制,我已经找到了各种文章,它们通过C++和扫描代码提供了一种替代方法来克服这种限制。

主要问题是,我无法访问C++。

  • 在VBScripts和/或VBA中是否有允许这样做的解决方案?

我考虑了许多选择,包括使用windows虚拟键盘(这不起作用)和在windows中安装虚拟键盘驱动程序(这超出了我的深度)。

下面是使用C++讨论扫描代码的一篇文章:

http://www.codeproject.com/Tips/310817/SendKeys-using-ScanCodes-to-Citrix

我不知所措,任何能帮忙的人都会成为超级hero...If,超级英雄的主要吸引力是成为一个极客神。:)

任何帮助都很感谢!

干杯。

*更新*

你好,

我做了更多的调查。

...The Citrix客户端终端窗口没有接收VBScript sendkey命令,但是如果我在执行脚本后手动按下该终端中的VBScript(暂停2秒),例如:

代码语言:javascript
复制
*Set objShell = WScript.CreateObject("WScript.Shell")
WScript.Sleep 2000
objShell.SendKeys ("e")
objShell.SendKeys "(P)"*

上述功能可以访问终端窗口中工具栏上的“文件”、“编辑”等菜单选项。

对我来说,这意味着这个问题不是特权问题,我认为sendkey方法可能还有希望?

深入研究后,Citrix站点上有一些关于Citrix ICA客户端的文档re: ini文件设置。

其中一项条款如下:

http://support.citrix.com/article/CTX129166

我已经玩过了,似乎有几个ini文件列出了键盘映射、DLL文件、虚拟键通过率?

“模块”ini文件的一个部分包含以下内容:

代码语言:javascript
复制
[KeyboardLayout]
(User Profile)=0x00000000
(Server Default)=0xFFFFFFFF

还有其他代码,包括各种语言、英语、美国-国际等.

然后是一个DLL代码列表,例如:

代码语言:javascript
复制
kbduk.dll=0x00000809

最后,语言ID,例如:

代码语言:javascript
复制
eng=0x00000809

我猜测(希望)会有一种方法来修改ini设置,允许在终端字段中接收sendkey,而不仅仅是工具栏菜单。

和以前一样,任何帮助都是值得感激的.我正在慢慢地为这一次疯狂!

干杯!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-09 09:58:56

子弹尖溶液

所需:

屏幕键盘(OSK.EXE)窗口应用程序VBScript (不是必需的,但我喜欢作为控制脚本) VBA (移动鼠标)

  1. 设置OSK以接收“悬停”命令
  2. 设置VBA代码以将鼠标移动到特定的协调器。
  3. 使用VBScript控制何时运行VBA文件中的特定子类。-可以设置为在后台运行,而不需要手动打开文件等。
  4. 设置Citrix终端为活动窗口,按下键应发送!

大家干杯!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26120691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档