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

VB 6 et antérieur Discussion :

[VB6] [Système] Tuer un processus courant


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut [VB6] [Système] Tuer un processus courant
    Bref ce que je veux faire c lors de l'ouverture de l'application que le programme verifie si il est présentement en cours dexecution et de killer ce processus si il roule dja...
    Tout ca en Vb 6 stp !
    Merci !
    Martin

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 130
    Points : 3 118
    Points
    3 118
    Par défaut
    Cela a été déjà abordé récemment :
    une recherche devrait te forunir la réponse.

  3. #3
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    moi je fais ça au form_load de ma premiere feuille fille

    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
     
        Dim aName As String
        Dim hwndPrev 'As SysInt
     
        aName = Me.Caption  ' nom de fenêtre a rechercher
        If App.PrevInstance Then    ' cherche une instance de programme précédente
            Me.Caption = "" 'masque le nom de la fenêtre active
            hwndPrev = FindWindow(vbNullString, aName)  ' recherche l'handle de l'instance précedente
            If hwndPrev <> 0 Then   ' si instance trouvée
                MsgBox "Le programme est déjà lancé, cliquez sur Ok puis utilisez ALT+TAB pour basculer sur le programme", 64
                Unload mafeuillefille
                Unload MDIForm1
                End
            End If
        End If
    avec en déclaration dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
    voila voila ...
    bhaal76
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

  4. #4
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    par contre, j'ai pas trouvé le moyen de basculer sur l'appli déjà lancé, alors si t'as une idée, hésite pas ...

    bhaal76
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

  5. #5
    Futur Membre du Club
    Inscrit en
    Août 2002
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Tuer un processus en cours d'execution
    moi en gros ce que je veux faire c'est que si l'application est deja lancé, on tue celle qui existe depuis le plus longtemps, soit celle dja presente et non la nouvelle !
    Merci
    Martin

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Je sais pas si ça peut t'aider mais moi, je mets ce bout de code au début de mon application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If App.PrevInstance = True Then
         End
    End If
    Je ne sais pas si c'est l'idéal mais ça fait ce que je veux : ne pas faire partir l'application si elle est déjà en cours.

  7. #7
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    je viens de trouver ça,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
    avec comme exemple pour fermer une fenetre ou une application

    const WM_CLOSE = &H10

    di& = PostMessage(hwnd, WM_CLOSE, 0&, 0&)

    hwnd : handle de la fenetre devant recevoir le message

    comme explication, y'a :
    Poster ce message à une feuille oou à une fenetre revient à invoquer la commande Fermeture du menu système de celle-ci

    voila, j'espere que ça peut t'aider ...

    bhaal76
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

  8. #8
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    163
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 163
    Points : 173
    Points
    173
    Par défaut
    au passage, je te rappel que tu peux avoir l'handle de l'instance précédente avec ce que je t'ai filé tout à l'heure ...


    bhaal76
    La théorie, c'est quand on sait tout et que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !
    (Albert Einstein)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] tuer le processus Excel courant dans Access
    Par comme de bien entendu dans le forum VBA Access
    Réponses: 8
    Dernier message: 20/12/2012, 12h37
  2. VB6: tuer le processus Excel
    Par Svart26 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/07/2006, 08h02
  3. Tuer un processus sur une machine distante
    Par nuke_y dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 16/11/2004, 09h55
  4. Comment tuer le processus ez-ipupdate
    Par berry dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 21/06/2004, 15h07
  5. Tuer le processus d'Interbase ?
    Par JezabelleTwin dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/04/2004, 13h09

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