Passwords 使用AppleScript创建用户名和密码输入框
我想创建一个与AppleScript中的输入对话框完全相同的对话框: 除了锁的左上角没有图片 此外,我需要能够保存两个输入Passwords 使用AppleScript创建用户名和密码输入框,passwords,applescript,inputbox,Passwords,Applescript,Inputbox,我想创建一个与AppleScript中的输入对话框完全相同的对话框: 除了锁的左上角没有图片 此外,我需要能够保存两个输入 我知道我可以使用告诉应用程序“系统事件”来显示对话框“blah blah”default answer“end tell,但我找不到一种方法来拥有多个带标签的字段。从OSX 10.10开始,AppleScript就不提供此功能 要查看支持哪些GUI操作,请检查标准增补词典的用户交互套件(StandardAdditions.def,可通过文件>打开词典…>StandardAd
我知道我可以使用
告诉应用程序“系统事件”来显示对话框“blah blah”default answer“end tell
,但我找不到一种方法来拥有多个带标签的字段。从OSX 10.10开始,AppleScript就不提供此功能
要查看支持哪些GUI操作,请检查标准增补词典的用户交互
套件(StandardAdditions.def
,可通过文件>打开词典…>StandardAdditions.osax
从脚本编辑器.app
访问)
最接近的近似值是单个输入字段对话框——仅提示输入密码——如下所示(您已经在问题中指出了一个限制,但只是为了说明如何提示输入密码以及如何使用自定义按钮):
显示对话框——
“安装程序是…”默认答案
“”按钮{“取消”、“安装软件”}
默认按钮2
含蓄地回答
要获得所需,您需要一个第三方库,如
以下是如何在Pashua中定义请求的对话框并处理返回值:
#使用类似于属性文件的文本定义定义对话框。
将dlgDef设置为“
#窗口标题(如果没有显式设置(即使为空),也将是“Pashua”)
*.标题=
#添加提示(静态文本)。
st.type=文本
st.text=安装程序正在尝试安装新软件。请键入密码以允许此操作。
#添加用户名字段。
tfn.type=textfield
tfn.label=名称:
#添加密码字段。
tfp.type=密码
tfp.label=密码:
#添加按钮。
cb.type=取消按钮
db.type=defaultbutton
db.label=安装软件
"
#显示对话框。
#返回值是一条记录,其键是对话框中的元素名称
#定义(例如,usernam文本字段的“tfn”)及其
#值是输入的值(用于输入字段)或
#是否单击了给定按钮(“1”或“0”)
将结果设置为showDialog(dlgDef,“”)
#处理返回的值。
如果结果的cb为“1”,则
显示“用户已取消对话框”警报
其他的
显示警报“结果的名称=[”&tfn&“];结果的密码=[”&tfp&“]”
如果结束
该对话框将如下所示:
创建Pashua的概述 注:这是一个简化的概述;有关完整说明,请参阅下载光盘映像中的
Read me.html
和Documentation.html
- 从下载并安装光盘映像
- 将
放在Pashua.app
、/Applications
中,或者在紧急情况下,放在与调用脚本相同的文件夹中。~/Applications
是呈现对话框的应用程序(当对话框打开时,菜单栏显示Pashua.app
)Pashua
- 将绑定代码(2个短处理程序,
和showDialog
)从getPashuaPath
复制到脚本中。Examples/AppleScript/Pashua.scpt
- 注意:由于撰写本文时出现了一个错误,您必须对handler
:将行getPashuaPath
return(以文本形式从系统域到应用程序文件夹的路径)和“Pashua.app”替换为
return(以文本形式从系统域到应用程序文件夹的路径)和“Pashua.app:
- 或者,直接从GitHub repo获取最新绑定代码:
- 注意:由于撰写本文时出现了一个错误,您必须对handler
告诉应用程序“系统事件”
。