[..] Verification Process

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
aikiox
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 17 sept. 2009 13:04
Status : Hors ligne

[..] Verification Process

#1

Message par aikiox »

Bonjour,

J'essaye de faire un script qui verifie si un navigateur est en éxécution. Nous utilisons trois navigateur : IE, Chrome et Firefox

Donc en fonction des navigateurs ouvert, mettre un message d'erreur. Jusque la pas de probleme, mais quand je ferme l'application il me dit qu'il est toujours ouvert alors que non.

Voici mon code :

Code : Tout sélectionner

#include <GUIConstantsEx.au3>


$ie = ProcessExists("iexplore.exe")
$chrome = ProcessExists("chrome.exe")
$firefox = ProcessExists("firefox.exe")

msgbox(0,"ok",$test)
GUICreate("GUI", 519, 672, 192, 124)
$Generate = GUICtrlCreateButton("Generate", 106, 584, 75, 25, 0)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Select
        Case $nMsg = $GUI_EVENT_CLOSE
            Exit

        Case $nmsg =  $Generate
            if ($ie > 0) Then
                msgbox(0,"Internet Explorer","Merci de fermer Internet Explorer")

            ElseIf ($chrome > 0) Then
                msgbox(0,"Google Chrome","Merci de fermer Google Chrome")

            ElseIf ($firefox > 0) Then
                msgbox(0,"Firefox","Merci de fermer Mozilla Firefox")

            elseif ($ie > 0) and ($chrome > 0) Then
                msgbox(0,"Internet Explorer et Chrome","Merci de fermer Internet Explorer et Chrome")

            elseif ($ie > 0) and ($firefox > 0) Then
                msgbox(0,"Internet Explorer et Mozilla Firefox","Merci de fermer Internet Explorer et Firefox")

            elseif ($chrome > 0) and ($firefox > 0) Then
                msgbox(0,"Google Chrome et Mozilla Firefox","Merci de fermer Google Chrome et Firefox")

            elseif ($chrome > 0) and ($firefox > 0) and ($ie > 0) Then
                msgbox(0,"Google Chrome et Mozilla Firefox","Merci de fermer Google Chrome, Internet Explorer et Firefox")

            Else
            MsgBox(0,"rien","rien")
            EndIf


    EndSelect
WEnd

Il n'est pas dutout optimisé...

Cordialement
Romain
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Verification Process

#2

Message par TommyDDR »

C'est parce que tu initialise tes variables $ie, $chrome et $firefox au début et tu n'y touche plus apres.

Il faut les modifier à chaque appui sur "Generate".

Fait plutot comme ca (Je n'ai pas améliorer ton code, juste décalé 3 lignes)
► Afficher le textecode
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Jerome
Niveau 9
Niveau 9
Messages : 661
Enregistré le : mar. 07 avr. 2009 08:35
Localisation : Picardie
Status : Hors ligne

Re: [..] Verification Process

#3

Message par Jerome »

Coucou,


Pourquoi ne pas mettre un timer qui dit "votre fenetre va se fermer automatiquement d'ici x seconde " puis mettre un process kill ?

Je sait que parfois pour chrome, meme apres fermeture du navigateur, un process chrome.exe continu de tourner.


Jérôme
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Verification Process

#4

Message par TommyDDR »

Ce n'est pas une question de process dans ce cas, c'est une question de réactualisation de variables.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
aikiox
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 17 sept. 2009 13:04
Status : Hors ligne

Re: [..] Verification Process

#5

Message par aikiox »

Merci je ne peux essayer mais la solution me semble bonne.
ce bout de script m'evite de forcer la fermeture des navigateur utilisateur qui veulent installer le logiciel

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Verification Process

#6

Message par Tlem »

N'oubliez pas la balise [R] dans le titre de votre premier message si votre sujet est résolu.
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
aikiox
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 17 sept. 2009 13:04
Status : Hors ligne

Re: [R] Verification Process

#7

Message par aikiox »

Merci
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Verification Process

#8

Message par timmalos »

Par contre il faudrait inverser, et mettre les conditions pour les 3 navigateurs AVANT celles pour 2 navigateurs et terminer par celles pour 1 navigateur, sinon si vous avez Firefox et IE de lancé, il ne vous avertira que pour le premier.
Avatar du membre
aikiox
Niveau 4
Niveau 4
Messages : 51
Enregistré le : jeu. 17 sept. 2009 13:04
Status : Hors ligne

Re: [..] Verification Process

#9

Message par aikiox »

Bonjour,

Je l'ai modifier
► Afficher le texte
Cordialement
Romain
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Verification Process

#10

Message par sylvanie »

Bonjour,
je viens de voir ce post, et me permet de suggérer une centralisation des browsers en un tableau à 2 dimensions : nom du navigateur; état

voici un exple reprenant l'idée de ce que vous voulez faire
► Afficher le texte
L'avantage ici est que si vous avez un 4eme brawser (ou plus) à intégrer, il suffit juste d'enrichir la première ligne de déclaration
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Verification Process

#11

Message par sksbir »

hop, je rajoute mon grain de sel :

ok pour le tableau à 2 dimensions, mais pourquoi utiliser stringsplit et tout ce code nécessaire pour passer de 1 à 2 dimensions, alors qu'il existe une fonction bien pratique dans autoit qui permet de déclarer directement un tableau à 2 dimensions avec des valeurs de départ dedans ?

dim tableau[x][y]=[ [valeur1,valeurA],[valeur2,valeurB]...etc...
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Verification Process

#12

Message par sylvanie »

Bonsoir,
c'est tout simplement pour faciliter l'ajout de plusieurs navigateurs dans le futur.
Avec cette méthode (certe plus chargée en code) on n'a qu'a ajouter le nom du browser dans la première ligne, sans se soucier de la dimension.
Ainsi on peut même faire cette déclaration dans un fichier texte afin de ne plus toucher au code du tout via un fileread.


Dans la méthode proposée, il faut à la fois modifier manuellement la dimension du tableau + l'ajout du nom.

La philosophie est que pour un script, moins il y a de modif à faire pour le faire évoluer, mieux c'est. Surtout quand on le reprends des mois plus tard ^^'
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Verification Process

#13

Message par sksbir »

Je comprends ton point de vue, car effectivement, même si remplacer N par N+1 dans la déclaration du tableau n'est pas sorcier, si on oublie la manip, ça passe à la compilation, mais pas à l'exécution...

En fait, idéalement, il faudrait pouvoir mettre -1 dans le dimensionnement d'un tableau de constante dont on initialise le contenu de façon à ne pas avoir à renseigner la dimension.

Mais ça demande une requête de modif pour autoit...
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Verification Process

#14

Message par Tlem »

Le mieux restera l'utilisation du StringSplit().

En ce qui concerne le code de Sylvanie, comme le tableau n'utilise que deux colonnes, personnellement au lieu d'utiliser un tableau 2D, j'aurais utilisé deux tableaux 1D. ;)

Code : Tout sélectionner

Global $liste_navigateur="iexplore.exe;chrome.exe;firefox.exe"
$liste_navigateur=StringSplit($liste_navigateur,";")
Global $etat_navigateur[UBound($liste_navigateur)]
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é".
alex1205
Niveau 5
Niveau 5
Messages : 123
Enregistré le : dim. 07 mars 2010 13:59
Status : Hors ligne

Re: [..] Verification Process

#15

Message par alex1205 »

Salt Tlem.
Au lieu de faire :

Code : Tout sélectionner

[Global $liste_navigateur="iexplore.exe;chrome.exe;firefox.exe"
$liste_navigateur=StringSplit($liste_navigateur,";")
Global $etat_navigateur[UBound($liste_navigateur)
Fait ça

Code : Tout sélectionner

Global $liste_navigateur="iexplore.exe;chrome.exe;firefox.exe"
$liste_navigateur=StringSplit($liste_navigateur,";")
Global $etat_navigateur[[color=#FF0000]$liste_navigateur[0][/color]]
:
Le "je ne sais pas" et "j'y arrive pas" n'existe dans mon vocabulaire. Toutes Questions ont une réponse, cherchez et vous la trouverai. Utilisez Recherche du forum et vous verrez. Si [blink]Aucune[/blink] question ne tient à votre problème, créez un sujet.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Verification Process

#16

Message par Tlem »

Hé oui, mais non ... :lol:

Code : Tout sélectionner

Global $etat_navigateur[UBound($liste_navigateur)]
N'est pas équivalent à

Code : Tout sélectionner

Global $etat_navigateur[$liste_navigateur[0]]
Faites un essais. Affichez les deux et vous comprendrez mieux. :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é".
Répondre