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 :

Récuperer le handle d'une application


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut Récuperer le handle d'une application
    Bonjour à Tous

    Je suis en train de m'arracher les cheveux sur un problème de handle.

    Voici ce que je cherche à faire en visual Basic 6.

    A l'aide d'un exécutable vb je cherche mettre au premier plan une application telle qu'un diaporama power point par exemple. Je cherche à récupérer le Handle de power point et par le biais de celui ci mettre l'application en premier plan de sorte à pourvoir envoyé ensuite des commandes comme diapo suivante ou précédente. Peut on le faire aussi connaissant la class qui doit être "screenClass". Voila j'arrive à extraire la class le numéro ID du programme mais il me manque la commande qui fait comme si je cliquez sur l'application pour prendre la main dessus.

    Si quelqu'un à une piste ou un exemple je l'en remercie par avance

    Très cordialement

  2. #2
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    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 131
    Par défaut
    Bonsoir,
    Voir du coté de GetObject pour récupérer l'instance de PowerPoint
    puis SetWindowPos Instance.hwnd

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut Handle et sendKeys
    Bonjour

    Merci du tuyau, cela m'a bien servi.

    Donc voici le code:

    Je récupère le Handle de POWER POINT, je rends la fenêtre active et je lance un sendkeys pour passer à la diapo suivante.

    Le programme fonctionne nickel dans l'interface de programmation VB6, mais dès que je créé un exécutable l'exe ne fonctionne pas, tout au moins le sendKeys .

    D'ou peut venir le problème.

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Option Explicit
     
    Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
    Const HWND_BOTTOM = 1
    Const HWND_NOTOPMOST = -2
    Const HWND_TOP = 0
    Const HWND_TOPMOST = -1
     
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const SWP_SHOWWINDOW = &H40
    Private Declare Sub SetWindowPos Lib "User32" (ByVal Hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
    Sub Main()
     
    Dim hWndXL As Long
    hWndXL = FindWindow("screenClass", vbNullString) 'RECUPERE LE HANDLE DE POWER POINT
     
    Call SetWindowPos(hWndXL, HWND_NOTOPMOST, 0, 0, 1920, 1080, SWP_NOSIZE)  'SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
     
    Dim I
    'temporisation
    For I = 1 To 10000
        Debug.Print ""
    Next I
     
    DoEvents
    SendKeys "{RIGHT}", True
    'SendKeys "{LEFT}", True
     
    End
     
    End Sub
    Mon but et d'avoir un exécutable qui sera lancé à distance et qui prend la main sur le PPT/PPS du poste pour faire avancer ou reculer les diapos.

    Si vous avez une idée sur mon problème, ou une autre solution avec un autre language je suis preneur.

    D'avance merci

  4. #4
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    Si je ne me trompe pas, ligne 26, Debug.Print "" n'est pas pris en compte dans la compuilation, essais de remplacer par Doevents.
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    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 131
    Par défaut
    Si c'était pour piloter PP et changer de diapo,
    utiliser les sendkeys est inapproprié :
    utilise les méthodes et propriétés de l'objet Application etc.

    Tant qu'à la temporisation, no comments

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 45
    Par défaut pilotage PPT
    Merci de vos réponses

    Voici donc un forum très actif.....

    Super les tuyaux Darkvader..., mais je n'arrive pas à trouver les objets et méthodes pour power point, ou puis-je chercher ces infos, une idée...

    je continue les recherches......


    Encore merci à tous

Discussions similaires

  1. [C#] Récuperer le chemin d'une application lancée.
    Par el_filosof dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/06/2006, 18h11
  2. Réponses: 5
    Dernier message: 24/05/2006, 15h41
  3. Récupérer tous les handles d'une application choisie
    Par dacid dans le forum API, COM et SDKs
    Réponses: 13
    Dernier message: 21/04/2006, 16h24
  4. Réponses: 6
    Dernier message: 15/03/2006, 14h35
  5. Comment retrouver le handle d'une application console?
    Par Laurent Dardenne dans le forum Windows
    Réponses: 7
    Dernier message: 22/12/2004, 16h58

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