IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

ouvir et fermer iexplore avec DOS


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Par défaut ouvir et fermer iexplore avec DOS
    Bonjour,

    J'aimerai des lignes de commande qui me permettent d'ouvrir et de fermer iexplore, mais une seule fenêtre.
    pas exemple j'ai déjà des fenêtre iexplore d'ouverte, j'ouvre une fenêtre avec une commande, et je doit refermer seulement celle-ci.

    C'est sur la fermeture que je bloque.... si je vire le processus, il me ferme toutes mes fenêtres....

    Merci pour l'aide

  2. #2
    Membre éclairé Avatar de Dark Ryus
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    333
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 333
    Par défaut
    Bon j'ai réussi à fermer ma fenêtre avec la commande taskkill /PID mon_proc en ayant préalablement ouvert mon iexplore avec le paramètre -new pour qu'il s'execute dans un nouveau processus.


    J'ai un autre souci....

    comment connaitre le PID de la fenêtre que je viens d'ouvrir??

  3. #3
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par Dark Ryus Voir le message
    comment connaitre le PID de la fenêtre que je viens d'ouvrir??
    La commande tasklist est ton amie...

    Attention : TaskList renvoyant aussi la mémoire utilisée, c'est pas gagné pour les comparaisons sans utiliser un petit traitement... Heureusement, tu as le "for" et les options "/fo csv /nh" !!

    Petit code, à mettre en sous-programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    @echo off
    setlocal enabledelayedexpansion enableextensions
    call :get_tl %1
    goto :eof
    
    REM La sous-fonction prends en paramètre le nom du fichier destination pour la liste.
    REM Si on ne passe aucun paramètre, la sortie standard est utilisée.
    :get_tl
    REM Test du paramètre.
    set FILE=%1
    if "%FILE%"=="" set FILE=CON
    setlocal enabledelayedexpansion enableextensions
    REM Flinguage du fichier destination.
    type NUL > %FILE%
    REM Parcours de la liste des PID : on en profite pour la trier...
    REM On ne prends que le nom de l'exécutable et son PID.
    for /f "usebackq tokens=1,2 delims=," %%I in (`tasklist /fo csv /nh ^| sort`) do (
    	REM Suppression des guillemets autour du PID.
    	set pid=%%J
    	set pid=!pid:~1!
    	set pid=!pid:~,-1!
    	REM Format de sortie : PID, espace, nom de fichier avec guillemets.
    	echo !pid! %%I >> %FILE%
    )
    REM Fin.
    goto :eof
    Pas parfait (les processus "cmd.exe", "tasklist.exe" et "sort.exe" utilisés par le batch sont également listés), mais ça doit pouvoir suffire si tu rajoutes un filtre sur "iexplore.exe" sur le résultat du sous-programme, par exemple en effectuant un pipe de la sortie via la commande findstr /I "iexplore.exe"...

    Donc, tu appelles le listage avant la création de ton processus, puis tu l'appelles après, et tu regardes la différence (ce qui risque d'être un peu bordélique par contre, "fc" ne renvoyant pas uniquement les lignes différentes...).

    Une fois que tu as un fichier contenant uniquement le PID créé, tu peux ensuite le parser avec un "for" pour effectuer le taskkill.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  4. #4
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Pas parfait (les processus "cmd.exe", "tasklist.exe" et "sort.exe" utilisés par le batch sont également listés), mais ça doit pouvoir suffire si tu rajoutes un filtre sur "iexplore.exe" sur le résultat du sous-programme, par exemple en effectuant un pipe de la sortie via la commande findstr /I "iexplore.exe"...
    salut,

    tu peux utiliser les filtres de Tasklist/?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tasklist -nh -fo csv -fi "imagename eq process.exe"
    voici une autre solution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    2>NUL (
     for /f "" %%x in ('
       "wmic process where(name="iexplore.exe") get ProcessID | more +1"
     ') do (set PID=%%x)
    )
    echo\%PID%
    pause

Discussions similaires

  1. Fermer IEXPLORE.EXE dans vb6
    Par morgan47 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 28/08/2006, 21h00
  2. fermer fentre avec message
    Par allowen dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/03/2006, 13h57
  3. Fermer une appli DOS à l'extinction du pc
    Par batmat86 dans le forum Windows
    Réponses: 10
    Dernier message: 01/03/2006, 16h48
  4. Fermer fenêtre avec le handle
    Par ni0urk dans le forum MFC
    Réponses: 10
    Dernier message: 24/11/2005, 08h43
  5. Ouvir ou fermer une zone d'une page html
    Par marti dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 22/10/2005, 20h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo