Page 1 sur 1
[R] Interaction avec le Bureau
Posté : jeu. 16 août 2007 09:58
par fzaweb
Bonjour
J'ai l'habitude de lancer mes programmes Autoit en tant que service ( Avec compte systeme et interaction avec le bureau)
Ce qui me permettait d'avoir mon programme toujours en execution , et de visualiser dans le systray l'icone de mon programe .
De plus l'interaction avec le bureau permet de passer des commande "hotkey" au programme.
Ceci fonctionné tres bien avec la version 3.1.xx
Depuis le passage en version 3.2.xx , si j'active l'option interaction avec le bureau depuis les services windows , mon programme se ferme systematiquement à la fermeture de session utilisateur.
Et pourtant le programme tourne bien en compte "systeme".
Si je desactive l'interaction avec le bureau , alors , je n'ai plus la fermeture du programme lors de la fermeture de la session..
Mais helas , je ne vois plus l'icone du programme dans le systray et je ne peux plus passer de commande "hotkey"
Voilà ! si quelqu'un a une idée , de l'option a activer/desactiver sur cette version 3.2.xx
Merci d'avance
Posté : jeu. 16 août 2007 19:23
par sylvanie
sur le diff entre les deux, j'ai pas (encore) de réponse
Par contre je sais que certains XP SP2 et tous les Vista empêchent une interraction entre le compte system et le bureau du user en cours (d'ailleurs je ne l'ai que lu, si quelqu'un l'a constaté "pour de vrai" je suis preneur du retours d'expérience).
Sur les machines en question et maintenant, est ce que tu peux toujours réaliser ceci avec un exe compilé avec la vesion 3.1.xx ?
Afin d'écarter cette piste.
Posté : ven. 17 août 2007 09:10
par fzaweb
Salut !
Mes tests sont effectuiés sur des Windows 2003 std/entr Fr et US.
J'ai bien essayé de recompilé en 3.1.x mais j'ai une erreur lors de l'execution : Pb de "Case" sans "Select" !!???
Pourtant aucun soucis a la compilation en 3.2.
(peut etre une nouveauté de la 3.2 mal geré par la 3.1)
Il faudrait que je refasse le test sur un poste ou je n'ai pas installé la 3.2
Posté : ven. 17 août 2007 10:20
par fzaweb
Bon aprés quelques tests :
Compilation du même code avec version 3.1.1.0 - OK pas de probleme - La fermeture de session laisse le programme actif
Compilation du code avec version 3.2.4.9 , depuis 2 postes differents ( XP et Vista ) - Toujours Pb de cloture du programme a la fermeture de session !
Une question : Peut-on toujours utiliser le compilateur de la 3.1 si le code contient des nouvelles fonctions d'Autoit 3.2 ?
Posté : ven. 17 août 2007 20:00
par sylvanie
si une fonction est présente en 3.2.0 et pas en 3.1, c'est foutu, ou alors tu essaies de la compenser avec des fonction de la 3.1
sinon en changement de 3.1 en 3.2 il y a peut être ceci pouvant expliquer celà :
Changed: "OnAutoItExit" function is now called on system shutdown or user logoff.
du coups si il y a un logoff, quick le script ...
à la rigueur on peut tenter ceci :
Code : Tout sélectionner
Opt("OnExitFunc", "endscript")
While 1
Sleep(1000)
WEnd
Func endscript()
If @EXITMETHOD=3 Then Run(@AutoItExe&" "&@ScriptDir)
EndFunc
ce qui relance le script en cas de logoff, mais quand je l'essaie en déconnectant ma session principale, celà me tue de suite ma deuxième exécution ...
Il y peut être qq chose à creuser dans cette direction...
Posté : sam. 18 août 2007 13:28
par ani
salut fzaweb
l'erreur que vous donnez est la seul ?
j'ai une erreur lors de l'execution : Pb de "Case" sans "Select" !!???
donne t'il la ligne en question?
Pour ma part j'ai déjà rencontré ce genre d'erreur.
- Vérifier la ligne
- Relire les fonctions conçut et redirection (le script dans sa globalité)
- Passer un coup de Tidy (ctrl+t)
Posté : sam. 18 août 2007 23:10
par fzaweb
@sylvanie
En effet j'utilise bien la fonction "Opt("OnExitFunc", "endscript")"
Je vais tester ca dés lundi.
Je vais deja la supprimer dans un premier temps...
Je te tiens au courant...
Posté : sam. 18 août 2007 23:20
par fzaweb
Salut
Je rencontre cette erreur uniquement lors de l'execution d'un EXE v3.1 .... et il me donne la ligne 0 en erreur.
Mais je pense qu'il s'agit d'un probleme du a l'installation de la v3.1 et de la v3.2 sur un meme poste, et l'utilisation du compilateur de la v3.1
Car la compil sur un autre poste , uniquement en 3.1 ne pose pas de soucis
L'execution du programme sous Scite ne pose pas de soucis car la v3.2 est installé. (et donc l'execution se fait en 3.2)
Merci
Posté : lun. 20 août 2007 16:46
par fzaweb
Bon .....
Le probleme provient bien de la commande OnExitFunc , lors de la fermeture de session.
Ton script qui relance le programme sur un @EXITMETHOD=3 ne fonctionne pas correctement.
Car le programme fraichement relancer recoit aussi une commande @EXITMETHOD=3 , ce qui relance de nouveau un autre programme.
etc ... jusqu' a fermeture complete de la session.
Il suffit de mettre une petite pause , avant de relancer le programme.
Code : Tout sélectionner
Opt("OnExitFunc", "endscript")
While 1
Sleep(1000)
WEnd
Func endscript()
If @EXITMETHOD=3 Then
Sleep(10000)
Run(@AutoItExe&" "&@ScriptDir)
Exit
Endif
EndFunc
En tous cas un grand merci pour cette piste ....
Je commancais à tourner en rond.
Re: [R] Interaction avec le Bureau
Posté : mar. 14 oct. 2008 22:35
par TommyDDR
Meme question pour le vérouillage de session.
Je veux que mon programme se relance apres un "Windows + l" (vérouillage de session)
Merci.
Re: [R] Interaction avec le Bureau
Posté : mer. 15 oct. 2008 17:59
par fzaweb
Le verouillage de session n'arrete pas le programme ...... Bizarre
Re: [R] Interaction avec le Bureau
Posté : mer. 15 oct. 2008 19:05
par TommyDDR
En effet il ne l'arrete pas mais le "fige", le programme se défige a sa réouverture...
Pas de solutions pour le fair continuer ?
Re: [R] Interaction avec le Bureau
Posté : mer. 15 oct. 2008 20:56
par sylvanie
Je ne pense pas qu'un vérouillage stress la fonction de fermeture, car il ne s'agit pas de couper les apllis comme le ferait une fermeture de session. Je ne saurais dire comment traiter un déclenchement au Win+L, mais en tout cas je ne pense pas que OnExitfunc soit la bonne voie
Re: [R] Interaction avec le Bureau
Posté : mer. 15 oct. 2008 21:06
par fzaweb
Je n'ai pas ce probleme !
Mon programme continue de fonctionner lors du verrouillage de session ...
Tu utilise des interfaces graphique ?