_SUB AppleControlPanelCheck LOGS //FORX /O:-N %&CurDir%\AppleControlPanel*.exe,&AnyAppleControlPanel,0, FORX /O:-N %SystemROOT%\System32\AppleControlPanel*.exe,&AnyAppleControlPanel,0, { //EXEC -hide -waiti %&CurDir%\AppleControlPanel.exe //mess %&AnyAppleControlPanel% EXEC -pid:&AppleControlPanel_PID -min -waiti %&AnyAppleControlPanel% //EXEC -pid:&AppleControlPanel_PID -waiti %&AnyAppleControlPanel% //mess %&__LastPID% SET$ &&TAB=09 //ENVI &AppleControlPanel_PID=68 FIND --forpid:%&AppleControlPanel_PID% --wid*@ &AppleCPExe,Boot Camp 控制面板 //MESS %&AppleControlPanel_PID% FIND $%&AppleCPExe%=, {* FIND --forpid:%&AppleControlPanel_PID% --wid*@ &AppleCPExe,启动转换控制面板 FIND $%&AppleCPExe%=,! ENVI &&BootCampTitleName=启动转换控制面板 }! {* ENVI &&BootCampTitleName=Boot Camp 控制面板 } FIND $%&AppleCPExe%=, { KILL *%&AppleControlPanel_PID% }! { //mess %&AppleCPExe% MSTR* * &AppleCPExeTemp=<2>&AppleCPExe FIND --forpid:%&AppleControlPanel_PID% --wid*@%&AppleCPExeTemp% &AppleCPExePage, //MESS %&AppleCPExePage% FORX *NL &AppleCPExePage,&AppleCPExePage_SysTabControl32, { FIND $%&AppleCPExePage_SysTabControl32%<>, { MSTR* * &AppleCPExePage_SysTabControl32Temp=<7>&AppleCPExePage_SysTabControl32 FIND $%&AppleCPExePage_SysTabControl32Temp%=SysTabControl32, { //mess %&AppleCPExePage_SysTabControl32Temp% MSTR* * &AppleCPExePage_SysTabControl32WID=<2>&AppleCPExePage_SysTabControl32 //ENVI @@POSTMSG=%&AppleCPExePage_SysTabControl32WID%;0x0201;; //ENVI @@POSTMSG=%&AppleCPExePage_SysTabControl32WID%;0x0202;; ENVI &RightKeyBoardTimes=0 LOOP #%&RightKeyBoardTimes%<=4, { CALC #&RightKeyBoardTimes=%&RightKeyBoardTimes%+1 ENVI @@POSTMSG=%&AppleCPExePage_SysTabControl32WID%;0x0100;0x27;1 ENVI @@POSTMSG=%&AppleCPExePage_SysTabControl32WID%;0x0101;0x27;1 //WAIT 20 } WAIT 0.9 //SysTabControl32类型的没有标题,只有窗口ID,不知道是不是TABS属性表。能切换到后面的页吗? ENVI &&WaitTimeI=1000 LOOP #1=1, {* FIND --forpid:%&AppleControlPanel_PID% --wid*@ &AppleCPExe,%&BootCampTitleName% FIND $%&AppleCPExe%<>, {* IFEX $%&WaitTimeI%<0, {* KILL *%&AppleControlPanel_PID% EXIT LOOP } //mess %&AppleCPExe% FIND --forpid:%&AppleControlPanel_PID% --wid*@%&AppleCPExeTemp% &AppleCPExePage, //MESS %&AppleCPExePage% //FIND --forpid:%&AppleControlPanel_PID% --wid*@1022 &aaaaaa, //mess %&aaaaaa% LPOS* * &AppleFix1=%&TAB%将 F1、F2 等键用作标准功能键 (&F),1,&AppleCPExePage //LPOS* * &AppleFix2=%&TAB%在光线较弱时调整键盘亮度,1,&AppleCPExePage LPOS* * &AppleFix3=%&TAB%轻按来单击(&T),1,&AppleCPExePage LPOS* * &AppleFix4=%&TAB%拖移(&D),1,&AppleCPExePage LPOS* * &AppleFix5=%&TAB%拖移锁定(&L),1,&AppleCPExePage LPOS* * &AppleFix6=%&TAB%辅助单击(&C),1,&AppleCPExePage LPOS* * &AppleFix7=%&TAB%辅助单击 (&S),1,&AppleCPExePage IFEX $%&AppleFix7%=0, {* LPOS* * &AppleFix8=%&TAB%辅助轻按 (&S),1,&AppleCPExePage } //MESS <%&AppleFix1%><%&AppleFix2%><%&AppleFix3%><%&AppleFix4%><%&AppleFix5%><%&AppleFix6%><%&AppleFix7%><%&AppleFix8%> //IFEX $[ %&AppleFix1%>1 & %&AppleFix2%>1 & %&AppleFix3%>1 & %&AppleFix4%>1 & %&AppleFix5%>1 & %&AppleFix6%>1 & %&AppleFix7%>1 ], IFEX [ $%&AppleFix1%>0 & $%&AppleFix3%>0 & $%&AppleFix4%>0 & $%&AppleFix5%>0 & $%&AppleFix6%>0 & ( $%&AppleFix7%>0 | $%&AppleFix8%>0 ) ], { //MESS. 拍照看下设置面板 FORX *NL &AppleCPExePage,&AppleCPExePageLine, { MSTR* * &&AppleCPExePageLineFix=<8>&AppleCPExePageLine //FIND $[ '%&AppleCPExePageLineFix%'='将 F1、F2 等键用作标准功能键 (&F)' | '%&AppleCPExePageLineFix%'='在光线较弱时调整键盘亮度' | '%&AppleCPExePageLineFix%'='轻按来单击(&T)' | '%&AppleCPExePageLineFix%'='拖移(&D)' | '%&AppleCPExePageLineFix%'='拖移锁定(&L)' | '%&AppleCPExePageLineFix%'='辅助单击(&C)' | '%&AppleCPExePageLineFix%'='辅助单击 (&S)' ], CALL DoButton //FIND $[ '%&AppleCPExePageLineFix%'='将 F1、F2 等键用作标准功能键 (&F)' | '%&AppleCPExePageLineFix%'='轻按来单击(&T)' | '%&AppleCPExePageLineFix%'='拖移(&D)' | '%&AppleCPExePageLineFix%'='拖移锁定(&L)' | '%&AppleCPExePageLineFix%'='辅助单击(&C)' | '%&AppleCPExePageLineFix%'='辅助单击 (&S)' ], CALL DoButton IFEX [ '%&AppleCPExePageLineFix%'='将 F1、F2 等键用作标准功能键 (&F)' | '%&AppleCPExePageLineFix%'='轻按来单击(&T)' | '%&AppleCPExePageLineFix%'='拖移(&D)' | '%&AppleCPExePageLineFix%'='拖移锁定(&L)' | '%&AppleCPExePageLineFix%'='辅助单击(&C)' ], TEAM CALL DoButton| WAIT 0.9 } //MacBookPro15,2和MacBookPro15,1默认"辅助单击 (&S)"是勾选状态的,不用点。 CALL FixFzDJFzQA WAIT 0.9 WAIT 200 //FORX *NL &AppleCPExePage,&AppleCPExePageLine, //{ //MSTR* * &&AppleCPExePageLineFix=<8>&AppleCPExePageLine //FIND $%&AppleCPExePageLineFix%=应用(&A), CALL DoButton //} FORX *NL &AppleCPExePage,&AppleCPExePageLine, { MSTR* * &&AppleCPExePageLineFix=<8>&AppleCPExePageLine FIND $%&AppleCPExePageLineFix%=确定, CALL DoButton } //KILL *%&AppleControlPanel_PID% //不需要杀死进程,点击确认自动关闭了。如果杀死的话,可能确定键的任务还没执行完就被杀死了,造成执行都没有"确定"生效。 EXIT _SUB }! {* CALC &&WaitTimeI=%&WaitTimeI% - 10 //KILL *%&AppleControlPanel_PID% } } } } } } } } _END _SUB FixFzDJFzQA //MacBookPro15,2和MacBookPro15,1和MacBookAir7,2默认"辅助单击 (&S)"是勾选状态的,不用点。这些有一个共性,用的是新版AppleMTP.sys版本号为6.1.7000.0 IFEX %SystemROOT%\System32\Drivers\AppleMTP.sys, {* ^ENVI ?&&AppleMTPSysFver=FVER,%SystemROOT%\System32\Drivers\AppleMTP.sys MSTR * -delims:. &&AppleMTPSysFver3=<3>&&AppleMTPSysFver //MESS. %&AppleMTPSysFver% IFEX $%&AppleMTPSysFver3%>=7000,EXIT _SUB } ENVI &&QADJ_Time=2000 LOOP #%&QADJ_Time%>0, {* FIND --forpid:%&AppleControlPanel_PID% --wid*@%&AppleCPExeTemp% &AppleCPExePage1, FORX *NL &AppleCPExePage1,&AppleCPExePageLine, {* MSTR* * &&AppleCPExePageLineFix1=<8>&AppleCPExePageLine IFEX [ $%&AppleFix7%>0 & '%&AppleCPExePageLineFix1%'='辅助轻按 (&S)' ], TEAM CALL DoButton| EXIT LOOP IFEX [ $%&AppleFix8%>0 & '%&AppleCPExePageLineFix1%'='辅助单击 (&S)' ], TEAM CALL DoButton| EXIT LOOP } CALC &&QADJ_Time=%&QADJ_Time% - 10 } _END _SUB DoButton LOGS MSTR* * &&AppleCPExePageLineFixWID=<2>&AppleCPExePageLine ENVI @@POSTMSG=%&AppleCPExePageLineFixWID%;0x0201;; ENVI @@POSTMSG=%&AppleCPExePageLineFixWID%;0x0202;; //WAIT 100 _END