Mac AppleScript 自動完成按鍵


 

 

本人用AppleScript成功實現了打開銳捷app,並且在用戶驗證框輸入我的用戶密碼,然后強制退出銳捷。(至於為什么這么做呢?用校園網的痛苦,一言難盡啊!) 

  

學習以下內容,首先你要自行百度資料來學習一點內容,學會使用實用工具里面的 腳本編輯器Automator。實用工具,確實很實用啊!

 

--腳本完成組合鍵按下 by Ficow
tell application "System Events"
    key code 53 using {command down, option down}
end tell


-- --這個符號是注釋符號,(**)這個也是注釋符號,類似於C語言里面的//和/**/
-- key code 53的意思按下Esc鍵,53的含義見下面的列表
-- using {} 花括號部分按下的按鍵和前面的按鍵事件一起作用
-- command down, option down的含義是按下command和option
-- 所以這個腳本的作用就是啟動強制退出窗口(command+option+Esc)

(* apple key code list(后面會用到這個清單!):

0 0x00 ANSI_A
1 0x01 ANSI_S
2 0x02 ANSI_D
3 0x03 ANSI_F
4 0x04 ANSI_H
5 0x05 ANSI_G
6 0x06 ANSI_Z
7 0x07 ANSI_X
8 0x08 ANSI_C
9 0x09 ANSI_V
10 0x0A ISO_Section
11 0x0B ANSI_B
12 0x0C ANSI_Q
13 0x0D ANSI_W
14 0x0E ANSI_E
15 0x0F ANSI_R
16 0x10 ANSI_Y
17 0x11 ANSI_T
18 0x12 ANSI_1
19 0x13 ANSI_2
20 0x14 ANSI_3
21 0x15 ANSI_4
22 0x16 ANSI_6
23 0x17 ANSI_5
24 0x18 ANSI_Equal
25 0x19 ANSI_9
26 0x1A ANSI_7
27 0x1B ANSI_Minus
28 0x1C ANSI_8
29 0x1D ANSI_0
30 0x1E ANSI_RightBracket
31 0x1F ANSI_O
32 0x20 ANSI_U
33 0x21 ANSI_LeftBracket
34 0x22 ANSI_I
35 0x23 ANSI_P
36 0x24 Return
37 0x25 ANSI_L
38 0x26 ANSI_J
39 0x27 ANSI_Quote
40 0x28 ANSI_K
41 0x29 ANSI_Semicolon
42 0x2A ANSI_Backslash
43 0x2B ANSI_Comma
44 0x2C ANSI_Slash
45 0x2D ANSI_N
46 0x2E ANSI_M
47 0x2F ANSI_Period
48 0x30 Tab
49 0x31 Space
50 0x32 ANSI_Grave
51 0x33 Delete
53 0x35 Escape
55 0x37 Command
56 0x38 Shift
57 0x39 CapsLock
58 0x3A Option
59 0x3B Control
60 0x3C RightShift
61 0x3D RightOption
62 0x3E RightControl
63 0x3F Function
64 0x40 F17
65 0x41 ANSI_KeypadDecimal
67 0x43 ANSI_KeypadMultiply
69 0x45 ANSI_KeypadPlus
71 0x47 ANSI_KeypadClear
72 0x48 VolumeUp
73 0x49 VolumeDown
74 0x4A Mute
75 0x4B ANSI_KeypadDivide
76 0x4C ANSI_KeypadEnter
78 0x4E ANSI_KeypadMinus
79 0x4F F18
80 0x50 F19
81 0x51 ANSI_KeypadEquals
82 0x52 ANSI_Keypad0
83 0x53 ANSI_Keypad1
84 0x54 ANSI_Keypad2
85 0x55 ANSI_Keypad3
86 0x56 ANSI_Keypad4
87 0x57 ANSI_Keypad5
88 0x58 ANSI_Keypad6
89 0x59 ANSI_Keypad7
90 0x5A F20
91 0x5B ANSI_Keypad8
92 0x5C ANSI_Keypad9
93 0x5D JIS_Yen
94 0x5E JIS_Underscore
95 0x5F JIS_KeypadComma
96 0x60 F5
97 0x61 F6
98 0x62 F7
99 0x63 F3
100 0x64 F8
101 0x65 F9
102 0x66 JIS_Eisu
103 0x67 F11
104 0x68 JIS_Kana
105 0x69 F13
106 0x6A F16
107 0x6B F14
109 0x6D F10
111 0x6F F12
113 0x71 F15
114 0x72 Help
115 0x73 Home
116 0x74 PageUp
117 0x75 ForwardDelete
118 0x76 F4
119 0x77 End
120 0x78 F2
121 0x79 PageDown
122 0x7A F1
123 0x7B LeftArrow
124 0x7C RightArrow
125 0x7D DownArrow
126 0x7E UpArrow
*)

 

 

 

 

 

這里附上我自己制作的Automator工作流程:

 

 

首先在Automator,添加工作流程(多次試驗之后,我覺得還是工作流程好用一點)。

打開Automator,新建-工作流程,如圖:

 

 

 

 

然后,添加啟動銳捷的功能(雙擊開啟應用程序,右邊就會出現可以配置的功能塊):

 

 

 

 

 

 

 

啟動銳捷后需要輸入自己的用戶密碼,所以緊接着就插入完成按鍵按下的腳本,完成密碼的自動輸入:

 

 

 

your script goes here,好的,就在這下面開始寫輸入密碼的腳本吧:

 

on run {input, parameters}
    
    (* Your script goes here *)

    delay 1 --延時1S后執行后面的內容
    
    tell application "System Events"
        key code 1 --這里做示范,只輸入了小寫的s,code編碼請參照key code list
        key code 76 --輸入了回車,以確認密碼輸入
    end tell
    
    delay 10 --延時10S,等待銳捷啟動並自動登錄完畢
    
    return input
end run

 

 

 

 

添加完畢后,你可以點擊運行檢驗一下當前編寫的腳本的運行效果是否符合你的要求,

在運行之前先檢查一下語法有沒有錯誤,以防止運行發生意外。

按圖中標注的順序點擊按鈕即可:

 

 

 

 

 

 

接下來,添加下一個腳本,輸入終結銳捷的腳本代碼:

on run {input, parameters}
    
    (* Your script goes here *)
    
    beep --讓Mac發出聲音
    tell application "System Events" 
        
        key code 53 using {command down, option down} --按下打開強制退出框的組合鍵
        delay 1
        key code 76 --確定選擇
        delay 1
        key code 76 --確定退出銳捷
        
    end tell --tell和end tell需要配對使用
    
    return input
end run

 

 

 

最后,把這個工作流程保存起來。需要用的時候,雙擊打開工作流程,然后點擊Automator里的運行即可。

 

 

 

 

Automator功能很棒的,有些人甚至它用來完成圖片的批量格式轉換等更實用的功能!

百度Automator,更多驚喜等着你哦!

 

 

 

可參考資料:

http://www.guokr.com/blog/792617/

http://apple.stackexchange.com/questions/36943/how-do-i-automate-a-key-press-in-applescript

 

 

 

原創文章,轉載請注明出處,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM