已使用"^%{L}“在BluePrism中执行cntrl+Alt+L,但所需的窗口未打开,手动执行时该命令通常工作正常。
发布于 2018-07-31 14:28:36
首先,您需要确保遵循适当的步骤将密钥发送到应用程序。建议首先激活应用程序(这确保密钥被发送到正确的应用程序),然后使用等待阶段(这确保BluePrism在正确的时间发送密钥;即当应用程序准备好接受密钥时),然后在发送密钥所在的根应用程序上使用导航阶段,如下所示:

(如果要在窗口中键入特定字段,则在发送关键字之前,在字段本身上使用额外的焦点导航阶段)。
在导航阶段中,您有两个可能的选项来发送密钥:

全局发送密钥
您可以在BluePrism portal上找到official guide (第10.2节)。它实际上并没有详细说明全局发送键的组合键的发送,但您确实需要这样做:
^(%l)请注意,如果您发送^(%L),这类似于发送Ctrl+Alt+Shift+L。括号表示对于%l的键控,Shift是按住的。上面的代码相当于^(%(l))。普通Key也不需要大括号,如果在全局发送Key事件中使用会导致问题(即{L}在全局Send Key中表示Shift+L,但会在全局Send Key事件中给出错误)。
指南的相关部分:

所以对BluePrism来说,你对^%{L}所做的并不是很有意义。它可能发送的是Ctrl+Alt,然后是单独的Shift+L (我不能真正确认这一点,但这是我在BluePrism上的测试之后的猜测,这些测试肯定表明它不能工作)。
全局发送按键事件
您可以在我之前链接的同一指南和小节中找到文档。这一次是it does show exactly how to send combination keys,因此对于您的情况,全局发送按键事件的另一个选项是:
<{CTRL}<{ALT}l>{ALT}>{CTRL}我真的不喜欢Global Send key Events,因为它输入的时间更长,而且你必须注意更多的事情,但本质上,如果你在继续下一个键之前输入开始和结束语法,它会变得更容易。例如,要执行上述操作,更简单的方法是先输入<{CTRL}>{CTRL},然后在中间插入ALT部分:<{CTRL}<{ALT}>{ALT}>{CTRL},然后插入l (注意这里l和L在这里是等价的,考虑到它们不在全局发送键中,这也很奇怪)。
发布于 2018-01-31 20:33:58
我假定它是您正在寻找的全局SEND KEY事件值。
这是shift+I操作值:
"<{SHIFT}I>{SHIFT}"我会尝试使用ctrl+Alt+L,可能是这样的:
"<{CTRL}{ALT}L>{CTRL}"将"<“& ">”向下推并释放
发布于 2018-07-31 00:56:03
全局发送键将把键发送到屏幕上具有焦点的任何应用程序,所以我建议:

请记住,全局鼠标单击可能会再次导致一些意想不到的事情,因为它会将事件直接发送到屏幕,而另一个应用程序/窗口可能会覆盖您刚刚单击的区域。
有关全局发送密钥和全局发送密钥事件的更多信息,我将阅读BluePrism手册:Send Keys and Send Key Events
学习一些表面自动化原理可能也是值得的,因为它可以帮助你更好地理解这些全局操作正在做什么:Introduction to Surface Automation
https://stackoverflow.com/questions/48320351
复制相似问题