• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Überprüfung, ob Programm läuft

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
hallihallo!

ich habe folgendes script, um iTunes zu pausieren, falls es läuft.

Code:
tell application "System Events"
		if (exists process "iTunes") then
			tell application "iTunes"
			pause
		end tell
		end if
	end tell

leider funktioniert das script nur, wenn itunes schon einmal nach der letzen anmeldung lief?? führe ich das script direkt nach einer anmeldung aus, so startet er itunes, um es zu pausieren - allerdings soll genau das verhindert werden... kann mir das jmd erklären??

hat jmd ne idee??
 
Zuletzt bearbeitet:

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
ok, habe das problem einschränken können:
in dem script kommt ein " tell application "iTunes" " vor und so wird beim öffnen des script-dokumentes schon iTunes gestartet - egal, ob es benötigt wird, oder nicht...
 

Soul Monkey

Gast
hallihallo!

ich habe folgendes script, um iTunes zu pausieren, falls es läuft.
Genau genommen wird iTunes pausiert wenn der Prozess iTunes laeuft, unabhaengig davon ob iTunes ueberhaupt etwas abspielt.

Ich habe da eben mal ein Script geschrieben welches iTunes nicht startet (auch nicht wenn es gleich nach dem Einloggen ausgefuehrt wird), Bedingung hierfuer ist allerdings das das Script direkt ausgefuehrt wird und nicht erst im Script Editor geladen wird. (also entweder ueber einen Launcher der AppleScripts ausfuehren kann - Butler, Quicksilver und ich glaube LaunchBar oder als Application/Bundle speichern)

Code:
tell application "System Events"
	if (exists process "iTunes") then
		tell application "iTunes"
			if player state is playing then
				pause
			end if
		end tell
	end if
end tell
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
Bedingung hierfuer ist allerdings das das Script direkt ausgefuehrt wird und nicht erst im Script Editor geladen wird.

danke, genau das war as problem, wenn ich es mit spark ausführen wollte. komischerweise funktioniert es jetzt aber, wenn ich den code nicht direkt eingebe, sondern nur die .scpt-datei anhänge... dann scheint er sie nicht zu "öffnen", sondern führt sie direkt aus...

naja, klappt jetzt... thanks!!
 
  • Like
Reaktionen: 1 Person

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
wenn ein script im scripteditor geöffnet wird, dass einen tell application "blablabla..." enthält, so lädt der scripteditor das programm, um auf dessen scripting-bibliotheken zugreifen zu können (z.B. f. syntax-prüfung) und um die möglichen befehle des programms zur verfügung zu stellen.
dies ist der grund, warum iTunes in deinem fall gestartet wurde, obwohl der tell-block ja innerhalb einer bedingung steht, die so nicht erfüllt ist.
 

Atelis

Akerö
Registriert
01.03.07
Beiträge
1.835
wenn ein script im scripteditor geöffnet wird, dass einen tell application "blablabla..." enthält, so lädt der scripteditor das programm, um auf dessen scripting-bibliotheken zugreifen zu können (z.B. f. syntax-prüfung) und um die möglichen befehle des programms zur verfügung zu stellen.
dies ist der grund, warum iTunes in deinem fall gestartet wurde, obwohl der tell-block ja innerhalb einer bedingung steht, die so nicht erfüllt ist.

ja, und wenn ich die befehle direkt in spark eingebe, scheint er genau das zu machen...
wenn man allerdings die applescript-dokumente einbindet, klappt es...
 

space

Neuer Berner Rosenapfel
Registriert
02.12.05
Beiträge
1.949
wenn ein script im scripteditor geöffnet wird, dass einen tell application "blablabla..." enthält, so lädt der scripteditor das programm, um auf dessen scripting-bibliotheken zugreifen zu können (z.B. f. syntax-prüfung) und um die möglichen befehle des programms zur verfügung zu stellen.
[…]

Hilft in diesem Fall zwar nicht weiter, aber man kann das bis zu einem gewissen Grad umgehen.

Code:
set blablabla to "iTunes"
tell application blablabla to activate

In der Praxis von Nutzen, wenn man z.B. mit AS ein dmg mounted und danach ein sich dort befindendes Programm starten möchte…

Gruss