Macos 自动化JavaScript中的Application.make(JXA)
我正在尝试转换此现有AppleScript脚本:Macos 自动化JavaScript中的Application.make(JXA),macos,applescript,javascript-automation,Macos,Applescript,Javascript Automation,我正在尝试转换此现有AppleScript脚本: tell application "System Events" make login item with properties {path:"/Applications/Application.app", hidden:false"} end tell return 以下是我到目前为止的情况: #!/usr/bin/env osascript -l JavaScript 'use strict'; ObjC.import('stdli
tell application "System Events"
make login item with properties {path:"/Applications/Application.app", hidden:false"}
end tell
return
以下是我到目前为止的情况:
#!/usr/bin/env osascript -l JavaScript
'use strict';
ObjC.import('stdlib')
function run(argv) {
var systemEvents = Application('System Events')
systemEvents.make({
new: 'LoginItem',
at: systemEvents.loginItems,
withProperties: {
name: "Application",
path: "/Applications/Application.app",
hidden: false,
kind: "Programm"
}
})
$.exit(0)
}
但是,我仍停留在下面的一行,因为我实际上不知道传递给新属性的是什么:
属性,我认为其他属性是正确的
new: 'LoginItem',
我希望有人能给我指出正确的方向。
Make new
在JXA中不起作用
使用app.TheClassName({somePropertyName:“someValue”})创建对象
之后,使用app.theClassNameWith\u.push(对象)将对象附加到数组中
例如:
- 不要使用
和种类
,这些属性是只读的名称
make
不起作用,但至少有一种方法。非常感谢您,我已经为此工作了好几个小时,因为我也不知道make在JXA中不起作用。仍然是这样吗?我正在尝试使用“数据库事件”应用程序创建数据库、记录和字段的解决方案,但我得到了错误:AppleeEvent handler失败错误。如果您想在“数据库事件”中创建内容,请使用AppleScript,因为无法从JXA脚本创建新数据库、新记录或字段(有错误)。
var systemEvents = Application('System Events')
logItemObj = systemEvents.LoginItem({path: "/Applications/Preview.app", hidden: false})
systemEvents.loginItems.push(logItemObj)