我有一个带有故障数字化板的modbook。直到我可以重新屏蔽导致故障的电缆,我只想关闭数字化仪。我找到了一个教我一些代码的页面,昨晚我成功使用了它。但是,在重新启动时,它不再起作用了:
脚本:
tell application "System Events"
set PTD to (unix id of process "PenTabletDriver") as text
do shell script "kill -STOP " & quoted form of (PTD)
end tell
错误消息:
错误“无法制作«class idux»的«class prcs»\”PenTabletDriver \“of 应用程序\“系统事件\”到类型文本。“编号-1700来自 «class idux»«class prcs»“PenTabletDriver”to text
我能以某种方式改变代码来解决这个问题吗?
PS: 我已阅读this post,虽然它很相似,但我不明白它如何应用于我的问题。
答案 0 :(得分:0)
生命太短暂,不会弄乱AppleScript。尝试在终端提示符下运行以下命令:
pkill -STOP PenTabletDriver
此外,检查您的登录项目以查看每次登录时是否自动启动驱动程序。(但更可能的是,它配置为通过launchd
在启动时启动。)
答案 1 :(得分:0)
您可以将以下脚本保存在一个小程序包中:
set shellStr to "pkill -STOP PenTabletDriver"
do shell script shellStr
并在需要时运行它。
答案 2 :(得分:0)
我认为其他答案很重要,shell命令很好而且快速。但是,如果你必须在AppleScript中使用它,这似乎对我有用....
tell application "System Events"
set PTD to (unix id of process "iTunes")
do shell script "kill -STOP " & quoted form of (PTD as text)
end tell
导致
tell application "System Events"
get unix id of process "iTunes"
--> 37987
do shell script "kill -STOP '37987'"
--> error number -10004
end tell
tell current application
do shell script "kill -STOP '37987'"
--> ""
end tell
进程ID只是一个数字,因此无需引用它......
tell application "System Events"
set PTD to (unix id of process "iTunes")
do shell script "kill -STOP " & PTD
end tell
上面的代码就足够了。