AppleScript - 如何根据网络更改默认打印机

时间:2010-02-10 22:58:48

标签: applescript

我想创建一个将在我的计算机上运行的应用程序,它将通过AppleScript更改“系统首选项”的“打印机和传真”首选项窗格中的“默认打印机”?

我希望它根据我所在的无线网络更改打印机。如果必须,我将退出并开始每次网络更改,但理想情况下,我希望它能自动为我做。

我该怎么做呢?如果您需要IP地址,网络名称和/或打印机名称,请发表评论并告知我们。我想要它在3台打印机和3台无线网络之间进行切换。我希望它能在它之间切换。

谢谢!

1 个答案:

答案 0 :(得分:1)

这样的事情会让你开始抓住当前的位置。当你改变位置时,你需要触发它,然后一旦它抓住了位置,你需要一个if else语句来遍历yoiur不同的打印机。 MacScripter是Applescript帮助的好地方;有人可能已经做了你想做的事:MacScripter。还有一些方法可以在shell中获取网络位置,这比Applescript更快。

还有MarcoPolo - Context-aware computing for Mac OS X,一个可以在不编写Applescript的情况下做你想做的应用程序。

tell application "System Preferences"
   activate
end tell

tell application "System Events"
   tell application process "System Preferences"
       set frontmost to true
       click menu item "Network" of menu "View" of menu bar 1
--you may need a delay here, adjust to suit
delay 1
       set machineLocation to value of pop up button 1 of window "Network"
   end tell
end tell
tell application "System Preferences" to quit