使用" ^%{L}"为了在BluePrism中执行cntrl + Alt + L但是所需的窗口没有打开,一般手动执行时该命令工作正常。
答案 0 :(得分:2)
首先,您需要确保按照相应的步骤将密钥发送到应用程序。建议首先激活应用程序(这确保密钥被发送到正确的应用程序),然后使用等待阶段(这确保BluePrism在正确的时间发送密钥;即,当应用程序准备好接受密钥时) ,然后在发送密钥所在的根应用程序上使用导航阶段,如下所示:
(如果您要在窗口中的特定字段中键入内容,则在发送键之前在字段本身上使用附加的Focus导航阶段)。
在导航阶段,您有两个可能的选项来发送密钥:
您可以在official guide上找到BluePrism portal(第10.2节)。它并没有真正详细说明“全局发送密钥”的组合密钥的发送,但是您确实必须这样做:
^(%l)
请注意,如果您发送^(%L)
,则类似于发送Ctrl + Alt + Shift + L。括号表示对于%l
键控,按住Shift键不放。以上等同于^(%(l))
。普通键也不需要大括号,并且如果在全局发送键事件中使用它们也会引起问题(即{L}
表示全局发送键中的Shift + L,但是在全局发送键事件中会给您带来错误)。>
因此,您对^%{L}
所做的操作对于BluePrism而言并没有任何意义。可能是发送Ctrl + Alt,然后分别发送Shift + L(我无法真正确认这一点,但这是我在BluePrism上进行测试后得出的肯定显示不起作用的猜测)。
您可以在我之前链接的同一指南和部分中找到文档。这次是it does show exactly how to send combination keys,因此对于您而言,“全局发送密钥事件”的另一个选项是:
<{CTRL}<{ALT}l>{ALT}>{CTRL}
我不太喜欢全局发送键事件,因为它的输入时间更长,而且您必须注意更多事情,但是从本质上讲,如果在继续下一个键之前键入打开和关闭语法,则变得更加容易。例如,要执行上述操作,首先键入<{CTRL}>{CTRL}
,然后在中间插入ALT部分:<{CTRL}<{ALT}>{ALT}>{CTRL}
,然后再插入l
(在此处请注意,{{1} }和l
在这里是等效的,考虑到它们不在全局发送键中,这也很奇怪。
答案 1 :(得分:0)
我认为它是您正在寻找的全球发送关键事件值。
这是shift + I动作值:
"<{SHIFT}I>{SHIFT}"
我会尝试ctrl + Alt + L可能是这样的:
"<{CTRL}{ALT}L>{CTRL}"
&#34;&lt;&#34; &安培; &#34;&GT;&#34;是推下来&amp;发布
答案 2 :(得分:0)
全局发送键将把键发送到屏幕上关注的任何应用程序,所以我建议:
通过使用导航阶段“激活应用程序”或“全局鼠标单击”将焦点设置在所需的窗口上。
使用全局发送密钥
请记住,全局鼠标单击可能再次导致意外事件,因为它将事件直接发送到屏幕,并且另一个应用程序/窗口可能覆盖了您刚刚单击的区域。
有关“全局发送键”和“全局发送键”事件的更多信息,我将阅读BluePrism手册:Send Keys and Send Key Events
可能还值得研究一些表面自动化原理,因为它可以帮助您更好地了解这些全局操作的作用:Introduction to Surface Automation
答案 3 :(得分:0)
答案 4 :(得分:-1)
确保使用Application Modeller中的根元素(列表顶部的第一个元素),而不是任何子元素。使用具有该元素的导航阶段以及全局发送密钥或全局发送密钥事件操作。语法“^%{L}”在其他方面是正确的,虽然你没有说你试图自动化的是什么(Excel,Word,IE,Citrix ...... ??)。
答案 5 :(得分:-1)
尝试使用Global SendKey而不是G.S.Events。即SHIFT + HOME =&#34; +({HOME})&#34; 蓝色棱镜需要使用常规括号来了解Shift的释放位置(&#34; +&#34;)。