AutoIt脚本用于控制WindowsXP应用程序DVD-lab v1.6,以自动创作具有类似内容的dvd。DVD-lab安装在8.1 '兼容模式',因为它被编码为将一些信息写入C:program Files此脚本在WindowsXP中正常运行,但自从移动到Windows 8.1以来,我一直无法向目标应用程序发送任何命令。8.1中是否有新的安全特性阻止AutoIt发送命令?
我在这个问题上做了一个工作(提示用户单击图标),只是在下一个控件上遇到问题,我试图将文件名发送到控件并按下OK按钮。因此,似乎没有一个自动控制发送或控制点击功能正在工作!我已经验证了AutoIt可以看到窗口:WindowExists("DVD-lab")
检测窗口是否存在。WinClose("DVD-lab")
什么也不做。它表现得好像我对窗口有只读访问权限。这在WindowsXP上有效!
建议不胜感激。
以下是我试图发送鼠标点击到控件但没有成功的命令
ControlClick("DVD-lab", "", "[ID:59392]", "left", 1, 41, 9)
ControlClick("DVD-lab", "", "[TEXT:Asset Toolbar]", "left", 1, 41, 9)
ControlClick("DVD-lab", "", "[TEXT:'Asset Toolbar']", "left", 1, 41, 9)
ControlClick("DVD-lab", "", "[CLASSNN:ToolbarWindow328]", "left", 1, 41, 9)
这是AutoIt Info中用于选择控件的信息
>>>> Window <<<<
Title: DVD-lab PRO
Class: Afx:400000:0:0:0:2920de7
Position: -1924, -4
Size: 1928, 1048
Style: 0x15CF0000
ExStyle: 0x00000100
Handle: 0x00000000005406EE
>>>> Control <<<<
Class: ToolbarWindow32
Instance: 8
ClassnameNN: ToolbarWindow328
Name:
Advanced (Class): [CLASS:ToolbarWindow32; INSTANCE:8]
ID: 59392
Text: Asset Toolbar
Position: 18, 742
Size: 1466, 23
ControlClick Coords: 38, 13
Style: 0x5600084E
ExStyle: 0x00000000
Handle: 0x00000000007609C0
>>>> Mouse <<<<
Position: -1864, 778
Cursor ID: 0
Color: 0xA6A64C
>>>> StatusBar <<<<
>>>> ToolsBar <<<<
>>>> Visible Text <<<<
Movie 1
Movie Tools
Connections
Connection Bar
Connection Tools
Links
Links
Quick Tools
Ready
status
Menu Bar
Menu Bar
Assets
Preview
Preview Toolbar
Slider1
Assets
Asset Toolbar
Project
Project
Project Toolbar
DVD Topology
>>>> Hidden Text <<<<
DVD Topology
Tab1
Compile
Compile Toolbar
Progress1
我同意Matt的回答。但这里有另一种变通方法可以尝试。ControlClick()只是ControlFocus()和MouseClick()的组合。
所以像这样:
ControlFocus("DVD-lab", "", [CLASS:ToolbarWindow32; INSTANCE:8])
MouseClick("left", 1, 41, 9)
我还建议你不要使用"左"/"右"参数,因为我认为如果你切换Windows鼠标按钮设置,这会破坏测试。而是使用"primary"/"secondary"。例如,
MouseClick("primary", 1, 41, 9)
ControlClick("DVD-lab", "", "[CLASSNN:ToolbarWindow328]", "primary", 1, 41, 9)
我下载了最新版本的DVD-lab(2.0),在对2.0版本的GUI更改进行调整后,我的脚本工作得很好。2.0版本的程序不需要使用兼容模式安装。安装在"兼容模式"下的应用程序似乎拒绝自动化。我猜这是windows 8.1的安全"功能"。
如果有一个关于在兼容模式下安装的程序上使用自动执行的线程,如果有人能在评论或替代答案中包含它的链接,我会很感激。
您应该使用administrator运行该脚本。右键单击脚本属性,在兼容性选项卡中选中复选框以管理员身份运行此程序