我一直试图(有限的资源)使用VBScript和VBA命令将键盘函数发送到远程citrix终端。-正如我所发现的,这是一个已知的限制,我已经找到了各种文章,它们通过C++和扫描代码提供了一种替代方法来克服这种限制。
主要问题是,我无法访问C++。
我考虑了许多选择,包括使用windows虚拟键盘(这不起作用)和在windows中安装虚拟键盘驱动程序(这超出了我的深度)。
下面是使用C++讨论扫描代码的一篇文章:
http://www.codeproject.com/Tips/310817/SendKeys-using-ScanCodes-to-Citrix
我不知所措,任何能帮忙的人都会成为超级hero...If,超级英雄的主要吸引力是成为一个极客神。:)
任何帮助都很感谢!
干杯。
*更新*
你好,
我做了更多的调查。
...The Citrix客户端终端窗口没有接收VBScript sendkey命令,但是如果我在执行脚本后手动按下该终端中的VBScript(暂停2秒),例如:
*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文件的一个部分包含以下内容:
[KeyboardLayout]
(User Profile)=0x00000000
(Server Default)=0xFFFFFFFF还有其他代码,包括各种语言、英语、美国-国际等.
然后是一个DLL代码列表,例如:
kbduk.dll=0x00000809最后,语言ID,例如:
eng=0x00000809我猜测(希望)会有一种方法来修改ini设置,允许在终端字段中接收sendkey,而不仅仅是工具栏菜单。
和以前一样,任何帮助都是值得感激的.我正在慢慢地为这一次疯狂!
干杯!
发布于 2014-10-09 09:58:56
子弹尖溶液
所需:
屏幕键盘(OSK.EXE)窗口应用程序VBScript (不是必需的,但我喜欢作为控制脚本) VBA (移动鼠标)
大家干杯!
https://stackoverflow.com/questions/26120691
复制相似问题