Mac AppleScript 自动完成按键
本人用AppleScript成功实现了打开锐捷app,并且在用户验证框输入我的用户密码,然后强制退出锐捷。(至于为什么这么做呢?用校园网的痛苦,一言难尽啊!)
学习以下内容,首先你要自行百度资料来学习一点内容,学会使用实用工具里面的 脚本编辑器 和 Automator。实用工具,确实很实用啊!
--脚本完成组合键按下 by Ficow
tell application "System Events"
key code 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(后面会用到这个清单!): 0x00 ANSI_A
0x01 ANSI_S
0x02 ANSI_D
0x03 ANSI_F
0x04 ANSI_H
0x05 ANSI_G
0x06 ANSI_Z
0x07 ANSI_X
0x08 ANSI_C
0x09 ANSI_V
0x0A ISO_Section
0x0B ANSI_B
0x0C ANSI_Q
0x0D ANSI_W
0x0E ANSI_E
0x0F ANSI_R
0x10 ANSI_Y
0x11 ANSI_T
0x12 ANSI_1
0x13 ANSI_2
0x14 ANSI_3
0x15 ANSI_4
0x16 ANSI_6
0x17 ANSI_5
0x18 ANSI_Equal
0x19 ANSI_9
0x1A ANSI_7
0x1B ANSI_Minus
0x1C ANSI_8
0x1D ANSI_0
0x1E ANSI_RightBracket
0x1F ANSI_O
0x20 ANSI_U
0x21 ANSI_LeftBracket
0x22 ANSI_I
0x23 ANSI_P
0x24 Return
0x25 ANSI_L
0x26 ANSI_J
0x27 ANSI_Quote
0x28 ANSI_K
0x29 ANSI_Semicolon
0x2A ANSI_Backslash
0x2B ANSI_Comma
0x2C ANSI_Slash
0x2D ANSI_N
0x2E ANSI_M
0x2F ANSI_Period
0x30 Tab
0x31 Space
0x32 ANSI_Grave
0x33 Delete
0x35 Escape
0x37 Command
0x38 Shift
0x39 CapsLock
0x3A Option
0x3B Control
0x3C RightShift
0x3D RightOption
0x3E RightControl
0x3F Function
0x40 F17
0x41 ANSI_KeypadDecimal
0x43 ANSI_KeypadMultiply
0x45 ANSI_KeypadPlus
0x47 ANSI_KeypadClear
0x48 VolumeUp
0x49 VolumeDown
0x4A Mute
0x4B ANSI_KeypadDivide
0x4C ANSI_KeypadEnter
0x4E ANSI_KeypadMinus
0x4F F18
0x50 F19
0x51 ANSI_KeypadEquals
0x52 ANSI_Keypad0
0x53 ANSI_Keypad1
0x54 ANSI_Keypad2
0x55 ANSI_Keypad3
0x56 ANSI_Keypad4
0x57 ANSI_Keypad5
0x58 ANSI_Keypad6
0x59 ANSI_Keypad7
0x5A F20
0x5B ANSI_Keypad8
0x5C ANSI_Keypad9
0x5D JIS_Yen
0x5E JIS_Underscore
0x5F JIS_KeypadComma
0x60 F5
0x61 F6
0x62 F7
0x63 F3
0x64 F8
0x65 F9
0x66 JIS_Eisu
0x67 F11
0x68 JIS_Kana
0x69 F13
0x6A F16
0x6B F14
0x6D F10
0x6F F12
0x71 F15
0x72 Help
0x73 Home
0x74 PageUp
0x75 ForwardDelete
0x76 F4
0x77 End
0x78 F2
0x79 PageDown
0x7A F1
0x7B LeftArrow
0x7C RightArrow
0x7D DownArrow
0x7E UpArrow
*)
这里附上我自己制作的Automator工作流程:
首先在Automator,添加工作流程(多次试验之后,我觉得还是工作流程好用一点)。
打开Automator,新建-工作流程,如图:
然后,添加启动锐捷的功能(双击开启应用程序,右边就会出现可以配置的功能块):
启动锐捷后需要输入自己的用户密码,所以紧接着就插入完成按键按下的脚本,完成密码的自动输入:
your script goes here,好的,就在这下面开始写输入密码的脚本吧:
on run {input, parameters} (* Your script goes here *) delay --延时1S后执行后面的内容 tell application "System Events"
key code --这里做示范,只输入了小写的s,code编码请参照key code list
key code --输入了回车,以确认密码输入
end tell delay --延时10S,等待锐捷启动并自动登录完毕 return input
end run
添加完毕后,你可以点击运行检验一下当前编写的脚本的运行效果是否符合你的要求,
在运行之前先检查一下语法有没有错误,以防止运行发生意外。
按图中标注的顺序点击按钮即可:
接下来,添加下一个脚本,输入终结锐捷的脚本代码:
on run {input, parameters} (* Your script goes here *) beep --让Mac发出声音
tell application "System Events" key code using {command down, option down} --按下打开强制退出框的组合键
delay
key code --确定选择
delay
key code --确定退出锐捷 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
原创文章,转载请注明出处,谢谢!
Mac AppleScript 自动完成按键的更多相关文章
- 原创:Mac AppleScript 自动登录两个QQ
前提,已有登录过的账号,且没有设置为自动登录 tell application "QQ" activate tell application "System Events ...
- 适用于Mac 的自动补丁管理软件
适用于Mac 的自动补丁管理软件 ManageEngine Desktop Central 的功能越来越神奇.系统管理员现在可以使用 Desktop Central 管理异构网络.即使是最复杂的任务, ...
- Linux根据MAC地址自动设置IP
Linux根据MAC地址自动设置IP #!/bin/sh #============config============ route_defa=60.12.70.65 addr_ip= link_ma ...
- Mac Item2自动远程连接服务器
Mac Item2自动远程连接服务器 1.编写脚本 vi test #!/usr/bin/expect set PORT 端口 set HOST ip set USER root set PASSWO ...
- 在mac中自动保存git用户名与密码如此简单
之前为了实现在Windows中自动保存git用户名与密码,写过一篇博客终于解决“Git Windows客户端保存用户名与密码”的问题,需要进行一堆配置. 而在Mac OS X中这个操作竟然如此简单.只 ...
- java的mac自动化-自动运行java程序
本文旨在帮助读者介绍,如果一个测试工程师拿到了mac本,该如何在本地自动运行java代码 首先如图所示写下如下一段代码 package zlr;import org.junit.Test;public ...
- 关闭 Mac 拼写自动纠正与横线转换
如果你是个程序员, 如果你恰好用 mac 自带的 notes 来做笔记, 很大可能性, 你会在里面贴代码, 但是, Mac 的拼写检查和自动纠正功能,会把代码变成你不想要的样子, 比如, 它会为你首字 ...
- mac securecrt自动保存密码
一.问题描述 mac有自带的终端,可以运行ssl和sftp,但是目录操作,文件操作和文件上传是分开的,很不方便,并且文件上传命令需要文件的全路路径. 使用securecrt能方便的解决上述的问题,并且 ...
- Mac Tab自动补全键
最近入手一个Mac(Mac 2019版本),在使用终端时,发现不能使用Tab键自动补全代码,网络搜寻下,发现这里有个方法,记录下,免得自己忘记: 1 / 首先找到这个图标 2 / 输入命令 nano ...
随机推荐
- A()方法
A方法用于在内部实例化控制器,调用格式:A('[项目://][分组/]模块','控制器层名称')最简单的用法: $User = A('User'); 复制代码 表示实例化当前项目的UserActi ...
- C语言操作注册表 写入 读取信息
#include <stdio.h>#include <windows.h>int main(void){char regname[]="Software\\Micr ...
- 【Android】Ignoring InnerClasses attribute for an anonymous inner class
这个问题是因为Android只能有6w个方法,解决方法,在defaultConfig中加入一句:multiDexEnabled true
- C++程序设计基础
01 1 预编译常用的有,宏定义和包含库.2 库:是实用工具的集和,由程序员编写,可以完成一些特定的功能.3 <> 系统库 ""用户自定义库.4 宏定义:定义符号常量, ...
- sublime3的安装和插件之类的
1.http://www.sublimetext.com/3 选择适合自己电脑的下载 2.下载完之后打开,help -> enter lisence 谷了下注册码如下,粘贴过去,万一不行请自由飞 ...
- MySQL 备份与恢复
一.备份/恢复策略 考虑因素有: (A) 表的存储引擎是否事务性的,在数据一致性方面不太一样. (B) 确定是全备份还是增量备份, (C) 考虑采取复制的方法做异地备份,复制不能代替备份 (D) 定期 ...
- android-获得".apk"文件的相关信息。包名、版本号等等
String filePath = "/sdcard/feijiedemo.apk"; PackageManager packageManager = getPackageMana ...
- 【ASP.NET】复制单个文件同时到多个目录
有时候,当我们更新了一个dll文件后,需要将该dll文件复制到到不同的文件夹中,手动操作会很麻烦,因此可以考虑利用程序实现. 利用powershell批量复制 示例代码如下: $source=&quo ...
- Appium 三种wait方法(appium 学习之改造轮子)
前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html 知乎Android客户端登陆:htt ...
- UIPickerView去掉背景上的黑线
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger) ...