根据dm-script手册,使用ChooseMenuItem来模拟相应菜单的点击。我已经尝试了如下这 3 个命令,但只有第一个可以工作。这是由于该命令的错误使用还是某些限制?
ChooseMenuItem("Help","User Mode","Power User")
ChooseMenuItem("Window","Floating Windows","Output")
ChooseMenuItem("Process","","FFT")
该命令并不“真正”模拟单击,而是尝试查找相应的菜单条目并调用关联的函数。 但是,该命令的功能是有限制的。 (特别是自 GMS 3.x 以来,它对 UI 进行了彻底修改,更改了一些菜单。) 话虽如此,我刚刚在我的机器上测试了上面的三个命令。
ChooseMenuItem( "Help" , "User Mode" , "Regular" ) // or "Power User" or "Service"
正常工作。
ChooseMenuItem( "Window" , "Floating Windows" , "Output" )
不起作用。我认为这是行不通的,因为 GMS 3.6 改变了 UI 的方式。但其实也没有必要,因为你可以直接使用:
OpenOutputWindow()
ChooseMenuItem("Process","","FFT")
有效,但您必须小心:只有当合适的图像窗口位于最前面时,菜单项才可用(不灰显)。由于脚本窗口位于最前面,该命令不可用,因此脚本失败。如果您从脚本编辑器窗口运行脚本,您可能想要执行如下操作:
GetFrontImage().SelectImage()
ChooseMenuItem("Process","","FFT")
ChooseMenuItem()
,特别是当可以直接访问相应的功能时。