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

Access Discussion :

Lancer deux fichiers d'une même application avec un processus différent


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Points : 24
    Points
    24
    Par défaut Lancer deux fichiers d'une même application avec un processus différent
    Bonjour,

    Je voudrais savoir s'il est possible de lancer deux fichiers avec un processus différent.
    Par exemple si j'ai déjà un fichier Word ouvert, je voudrais que lorsque j'en lance un deuxième, celui-ci s'ouvre avec un processus différent.

    En fait je cherche à modifier le code ci-dessous afin de récupérer un processus différent lorsque je lance un second fichier d'une même application :

    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
    Public Function ExecCmd(ByRef vsCmdLine As String, Optional ByRef vsParameters As String, Optional ByRef vsCurrentDirectory As String = vbNullString, Optional ByVal vnShowCmd As Long = SW_SHOW, Optional ByVal vnTimeOut As Long = 200) As Long
    Dim lpShellExInfo As SHELLEXECUTEINFOA
        With lpShellExInfo
            .cbSize = Len(lpShellExInfo)
            .lpDirectory = vsCurrentDirectory
            .lpVerb = "open"
            .lpFile = vsCmdLine
            .lpParameters = vsParameters
            .nShow = vnShowCmd
            .fMask = SEE_MASK_DOENVSUBST Or SEE_MASK_NOCLOSEPROCESS Or SEE_MASK_IDLIST
        End With
     
        If ShellExecuteEx(lpShellExInfo) Then
     
            GetExitCodeProcess lpShellExInfo.hProcess, ExecCmd
            CloseHandle lpShellExInfo.hProcess
        Else
            ExecCmd = vbError
        End If
    End Function
    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux peut-être envisager de créer deux instances avec un CreateObject() de la classe Word.Application et utiliser la méthode Documents.Open.

    Argy

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Points : 24
    Points
    24
    Par défaut
    Merci pour la réponse.

    Mais est-il possible de détecter la fermeture d'un fichier lorsqu'il est ouvert avec "Documents.Open" ?

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Mmmm, non pas avec cette méthode...
    En fait, pour détecter le fermeture d'une appli, il faut utiliser une API (WaitForSingleObject) qui grâce au HWnd de ton instance pourra vérifier que l'application est bien fermée...

    Tu as un exemple de code source ici proposé par Microsoft.
    Ce sera à toi d'adapter car il ne faudra pas te tromper d'instance.

    Tu peux obtenir le Hwnd d'une instance grâce à son PID qui est présent dans le Gestionaire de Tâches. J'ai écris un bout de code qui permet de l'obtenir ici (Réafficher une fenêtre lancée en mode cachée avec Shell) mais c'est pareil, il te faudra adapter...

    Pour info, le ClassName Word est OpusApp.

    Bon courage,

    Argy

Discussions similaires

  1. Tous les fichiers d'une même extension avec File
    Par setupXHR dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 05/03/2014, 18h48
  2. [WD15] Deux Fichiers sur une même fenêtre
    Par Rogatic dans le forum WinDev
    Réponses: 1
    Dernier message: 27/04/2013, 00h02
  3. Drag and Drop entre deux instances d'une même application
    Par befalimpertinent dans le forum C++
    Réponses: 1
    Dernier message: 23/11/2010, 15h33
  4. Réponses: 1
    Dernier message: 29/12/2008, 16h21
  5. Réponses: 11
    Dernier message: 30/06/2007, 05h34

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