趣味のためのMacに関するサイト > AppleScript > ソースコード > アプリケーションの起動まで待つくふう
ソースコード

アプリケーションの起動まで待つくふう

自分の場合はGUIScriptingしか出来ませんので、タイミングの調整はdelayで行います。

しかし、そのdelayの場合には重量級のソフトを起動させる場合には起動までの時間が

ずれる場合があって困っていました。特にVectorworks。

アプリケーションだけで100MBちかくあり、さらにはネットワーク版ですし、

サーバーの管理アプリケーションを経由してからの起動になりますので

よけいに時間がかかりますから、起動を待つ時間が微妙に都度違います。

Appleのディスカッションルームなどでは、ユニコードでアプリ名を調べて云々という

構文を見かけましたが、自分には敷居が高く、ちょっと大変で難解です。

答えを導きだすまでの手順アルゴリズムが自分の出来る範囲でやらなければなりません。

ですので、

① アプリケーションのプロセスがtrueなら起動している。fleseなら起動していない。

② アプリを起動させrepeat文でプロセスを確認

③ trueになったら、repeat文を抜ける。

という風に考えてみました。

これなら、delayの時間を何度も調整しなくて済みます。

欲を言えばファイルが開いているかどうかを確かめるのが早いのですが、

それは出来ないのでしょうがありません。次善の策ですがこれで十分です。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

  1. set timeStart to current date
  2. tell application Vectorworks 2010
  3.     activate
  4. end tell
  5. repeat
  6.     tell application System Events to exists application process Vectorworks 2010
  7.     if result is true then exit repeat
  8. end repeat
  9. set timeEnd to current date
  10. set timeC to (timeEnd  timeStart) * 1000 / 1000
  11. tell application Finder
  12.     activate
  13.     display dialog VectorWorksは起動しています &  かかった時間は & timeC & 秒です。 buttons {OK} default button 1
  14. end tell

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

ページトップに戻る↑                           ページ一番下へ↓

Mac

About 1q3

ツールとしてのMacについてのメリットデメリットなどの事について書いています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です