样例1:修改“Start”样式为经典启动菜单
autoIT:
- Func changeStartMenu()
- GUICtrlSetData($statusLabel,"Running ... changeStartMenu")
- Send("{LWIN}")
- Local $startMenuWnd = WinWait("Start Menu","",1)
- If ($startMenuWnd) Then
- WinActivate("Start Menu")
- Send("{APPSKEY}")
- Sleep(1000)
- Send("+r")
- Local $startMenuPropertesWnd = WinWait("Taskbar and Start Menu Properties","Select this option",2)
- If ($startMenuPropertesWnd) Then
- ControlClick("Taskbar and Start Menu Properties","","[CLASS:Button;INSTANCE:2]")
- Sleep(1000)
- ControlClick("Taskbar and Start Menu Properties","","[CLASS:Button;INSTANCE:5]")
- WinClose("Taskbar and Start Menu Properties") ; force window close
- GUICtrlSetData($statusLabel,"Completed ... changeStartMenu: change StartMenu -> Classic StartMenu")
- Else
- GUICtrlSetData($statusLabel,"Error ... changeStartMenu: no found 'Taskbar and Start Menu Properties' window")
- EndIf
- Else
- Send("{LWIN}")
- GUICtrlSetData($statusLabel,"Completed ... changeStartMenu: Already set to Classic Menu")
- EndIf
- EndFunc
Perl:
- use Win32::GuiTest qw(:ALL);
- sub changeStartMenu() {
- my $rtStatus=0;
- my $errMsg="";
- SendKeys("{LWIN}",1);
- my $startMenuID;
- WaitWindowLike(0,"","^DV2ControlHost\$",0,9,2);
- ($startMenuID) = FindWindowLike(0,"","^DV2ControlHost\$");
- SetForegroundWindow($startMenuID);
- print "find startMenu:$startMenuID\n";
- if ($startMenuID) {
- print "send {APP}\n";
- SendKeys("{APP}",1);
- print "send ctrl-r\n";
- SendKeys("^r",1);
- my $menuSettingsID;
- WaitWindowLike(GetDesktopWindow(),"","^#32770\$",$startMenuID,9,3);
- ($menuSettingsID) = FindWindowLike(0,"","^#32770\$");
- SetForegroundWindow($menuSettingsID);
- print "find menuSettingsID:$startMenuID\n";
- if ($menuSettingsID) {
- MouseClick("&M",$menuSettingsID, undef, undef, '{LEFT}');
- sleep 1;
- #MouseClick("确定",$menuSettingsID, undef, undef, '{LEFT}');
- MouseClick(1,$menuSettingsID, undef, undef, '{LEFT}'); #确定Button的ID为1
- $rtStatus = 1;
- } else {
- $$errMsg = "can not find start up settinig window";
- $rtStatus=-1;
- }
- } else {
- SendKeys("{LWIN}",1);
- $errMsg = "Already changed to classic menu";
- $rtStatus=1;
- }
- return($rtStatus,$errMsg);
- }