# Applescript en arriere plan



## JimSifu (5 Janvier 2008)

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


----------



## JimSifu (5 Janvier 2008)

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


----------



## JimSifu (5 Janvier 2008)

bon bah j'ai trouvé finalement 

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 :


```
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
```


----------



## ceslinstinct (5 Janvier 2008)

JimSifu a dit:


> bon bah j'ai trouvé finalement
> 
> 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


```
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
```

@+


----------



## quark67 (6 Janvier 2008)

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.


```
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
```


----------

