有一个问题我自己解决不了。
我写了这个脚本部分:
If WinExists("Application") then
WinActivate("Application")
...
...
Else
MsMsgBox($MB_OK,"Attention", "openSiebelOrderScreen: Application not found!")
_endAutoIT() // ends the script at all
EndIf
这适用于所有Windows 8计算机,除了一台。有一个笔记本电脑系统,也运行Windows 8,但我无法说服这台计算机将应用程序窗口放在给定的脚本部分前面。
我已经设置了Opt("WinTitleMatchMode", 2)
.
有人有同样的问题,或者也许是解决方案?
建议在操作窗口时设置这些。
#RequireAdmin ;Will give your script a permission elevation (sometimes its needed)
Opt("WinTitleMatchMode", 4) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase
Opt("WinSearchChildren", 1) ;0=no, 1=search children also
尝试提升脚本。以管理员身份运行它,使用您在另一台计算机上使用的相同代码运行它。笔记本电脑的用户可能不是管理员,当您运行脚本时,它没有管理员权限。
请记住;要使脚本能够与应用程序交互,它必须位于应用程序的相同或更高级别。
#RequireAdmin
在这种情况下就好了。