Applescript en arriere plan

JimSifu

Membre enregistré
8 Juin 2006
8
0
Salut à tous,

je me lance dans l'utilisation d'applescript et j'aimerai trouver une fonction

exemple:

je lance un script qui écrit un mot dans un fichier texte genre "salut" toutes les X sec , ça pas de soucis j'y arrive , mais ce que je voudrais c'est que quand mon script et mon textedit est ouvert , c'est des les avoir en arriere plan , genre le script tourne toujours mais je n'ai pas textedit au premier plan , je sais pas si j'explique bien

j'aimerai faire autre chose sur le mac genre surfer mais sans avoir la fenetre du textedit qui reviens à chaque X sec de mon script, je sais pas si c'est possible et quelle fonction utiliser

merci si y'en à qui peuvent m'éclairer :)
 
bon à priori c'est pas possible de simuler une écriture au clavier sur textedit sans le mettre au premier plan , je découvre j'avoue chuis un peu nul :rose: , j'arrive à ecrire et à revenir sur une autre appli genre firefox , en la relaçant grace à activate.

Mais le top serai de lancer mon truc dans textedit et de ré activé mon dernier process , genre je surf ou je musikote , ça lance mon truc et hop ça reviens sur la derniere appli ou j'etais , doit yavoir une fonction mais j'ai du mal à la trouver

si quelq'un pourrai m'éclairer :)
 
bon bah j'ai trouvé finalement :D

voilà mon script tout bidon qui affiche "e" toute les 5s dans le textedit et qui reviens à la derniere appli utilisé :) mais bon si jamais ça peut servir à quelqu'un 1 jour :

Bloc de code:
repeat
    
    activate application "TextEdit"
    tell application "System Events"
        key code 14 -- tape la lettre e
        set visible of (first process whose frontmost is true) to false -- reviens à l'appli précédente
        
    end tell
        
    delay 5 -- durée de la boucle en seconde
end repeat
 
bon bah j'ai trouvé finalement :D

voilà mon script tout bidon qui affiche "e" toute les 5s dans le textedit et qui reviens à la derniere appli utilisé :) mais bon si jamais ça peut servir à quelqu'un 1 jour :
Bonsoir

Bloc de code:
set x to "Tu peut aussi entrer du texte, aime pas les caracteres accentues"

repeat
	
	activate application "TextEdit"
	tell application "System Events"
		keystroke x & return
		--   key code 14 -- tape la lettre e
		set visible of (first process whose frontmost is true) to false -- reviens à l'appli précédente
		
	end tell
	
	delay 5 -- durée de la boucle en seconde
end repeat

@+
 
Une autre possibilité est de s'inspirer de http://bbs.applescript.net/viewtopic.php?id=11386
L'avantage, c'est que ça écrit silencieusement dans un fichier texte, sans que TextEdit ne se mette à l'avant plan pendant quelques instants.
Le code créé un fichier test.txt sur le bureau s'il n'existe pas encore. Si un fichier existe précédemment, son contenu est détruit.

Bloc de code:
set the_file to (((path to desktop) as string) & "test.txt") as file specification
set the_data to "ceci est un texte accentué" as string
try
	open for access the_file with write permission
	set eof of the_file to 0 -- supprimer cette ligne si l'on souhaite écrire à la suite du contenu existant
	write (the_data) to the_file starting at eof as string
	close access the_file
on error
	try
		close access the_file -- il est essentiel de fermer l'accès au fichier une fois qu'on a fini d'écrire
	end try
end try