[R] Probléme avec le sablier de la souris

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

[R] Probléme avec le sablier de la souris

#1

Message par quelqun »

bonjour :)
bon voila comme le titre l'indique j'aimerais éxecuter un script en batch compiler en .exe toute les minutes dont voila le code (pas du script batch):

Code : Tout sélectionner

while 1
    run("script bat.exe")
    sleep(60000)
wend
mais le probleme que je rencontre c'est que a chaque minute il y a le sablier de la souris qui vient dérranger et qui dure environ 2 a 3 secondes ce qui me dérrange vraiment :x
n'y a t-il pas une maniére pour le empêcher le sablier de réapparaitre a chaque minutes?
Modifié en dernier par quelqun le lun. 24 janv. 2011 20:50, modifié 1 fois.
Dexxpo
Niveau 3
Niveau 3
Messages : 31
Enregistré le : dim. 07 juin 2009 15:31
Status : Hors ligne

Re: [...]probléme avec le sablier de la souris

#2

Message par Dexxpo »

Ma remarque n'est peut être pas constructive... mais peut-être faut-il changer le PC :)
Le sleep ne fait pas apparaitre de sablier c'est surement le traitement du .bat qui rame au démarrage.
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [...]probléme avec le sablier de la souris

#3

Message par TommyDDR »

Bonjour,

Un Run(), comme son nom l'indique, lance un executable, et à chaque lancement d'application, windows change le curseur de votre souris.
(Non Dexxpo, cela n'est pas un "ramage")

Donc, si vous voulez changer le curseur pour votre Run(), cela le changera pour toutes les autres applications.

Pour ce faire, regarder du côté de l'UDF sur les curseurs, je n'ai plus le lien du forum US en tête, je vous le joint à mon message.
Fichiers joints
UDF_Cursor.au3
(2.12 Kio) Téléchargé 105 fois
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#4

Message par Tlem »

Généralement, ce qu'un batch peut faire, AutoIt peut le faire aussi. Donc l'idéal serait de convertir votre Batch en code AutoIt. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#5

Message par quelqun »

en faite je voudrais simplement faire un timer qui execute un script chaque minute le probléme avec autoit c'est que quand il y a la fonction run("mon programme.exe") il ya le sablier qui vient 2 a 3 secondes. et imagine que chaque minute il ya un sablier prés de la souris il vient et il revient.... c'est énevant.
mais en batch il ya pas de sablier juste que un script du genre:

Code : Tout sélectionner

:start
set sec=%time:~6,2%
if %sec% EQU 10 start prog.exe
goto start
 
qui est pas du tout pratique et sature le processeur avec la boucle infini. si seulement il y avait la fonction sleep() sa serais trés bien :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#6

Message par Tlem »

Et bien dans ce cas, faites un timer avec AutoIt (je vous laisse chercher sur le forum ...), puis utilisez la commande ShellExecute au lieu du Run.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#7

Message par quelqun »

avec ShellExecute c'est plus lent environ 3 a 4 secondes que dure le sablier.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#8

Message par Tlem »

Ce doit être votre programme 'prog.exe' qui fait afficher le curseur. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#9

Message par TommyDDR »

Non tlem, c'est bel et bien windows qui gère cela, essayer un "Run" (qui lance un exe autoit contenant une msgbox par exemple) en ayant pri soin au préalable de déplacer le curseur de votre souris sur votre bureau par exemple, vous verrez que le sablier apparait.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#10

Message par Tlem »

Le lancement d'un script AutoIt fera toujours apparaitre le sablier une fraction de seconde, à cause du chargement de l'interpréteur.
Par contre une fois lancé, celui-ci ne fait plus apparaitre le sablier si vous lui faites faire des 'actions rapides'.
Essayez ceci :

Code : Tout sélectionner

#include <Constants.au3>
#Include <File.au3>

MsgBox(0,"Test 1","Utilisation de la commande RUN." & @CRLF & "Demarrage dans 3 secondes",3)
Local $foo = Run(@ComSpec & " /c dir /S " & @SystemDir, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    If $line <> "" Then MsgBox(0, "STDOUT read:", $line, 5)
Wend
MsgBox(0,'Test 1','Test 1 terminé (Timeout 5s)', 5)


MsgBox(0,'Test 2',"Utilisation de la commande ShellExecute." & @CRLF & "Demarrage dans 3 secondes",3)
Local $foo = ShellExecute(@ComSpec, " /c dir /S " & @SystemDir, @SystemDir)
MsgBox(0,'Test','Test terminé (Timeout 5s)', 5)


MsgBox(0,'Test 3',"Utilisation de la commande _FileListToArray." & @CRLF & "Demarrage dans 3 secondes",3)
_FileListToArray(@SystemDir, "*" ,0)
MsgBox(0,'Test 3','Test terminé (Timeout 5s)', 5)
Vous ne verrez le curseur qu'au lancement du script et à la fin ... :roll:
Et pourtant, ce script liste les fichiers du dossier system32. :mrgreen:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
quelqun
Niveau 4
Niveau 4
Messages : 66
Enregistré le : sam. 08 janv. 2011 23:56
Status : Hors ligne

Re: [..] Probléme avec le sablier de la souris

#11

Message par quelqun »

ok c'est régler avec :

Code : Tout sélectionner

RunWait(@ComSpec & prog.exe,"",@SW_HIDE)
probleme résolu!
Répondre