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.NET Discussion :

Forcer la mise au premier plan d'une application lancée


Sujet :

VB.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut Forcer la mise au premier plan d'une application lancée
    Bonjour,

    Mon application occupe tout l'écran (même la barre des taches est masquée) et elle lance d'autres application, qui doivent alors passer au premier plan. Or ce n'est pas le cas pour toutes les applications lancées, certaines sont totalement cachée derrière mon application...et d'autres passent bien au premier plan, mais ne redonnent pas le focus à mon application ensuite.

    Je voudrais savoir comment après avoir lancé un process, je peux "forcer" la mise au premier plan de l'application, puis lorsque le process est terminé, reprendre le premier pour mon application!?

    D'avance merci!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim myProcess As New Process()
    myProcess.StartInfo.FileName = emuName
    myProcess.StartInfo.WorkingDirectory = emuDir
    myProcess.StartInfo.Arguments = emuCmdFull
    myProcess.Start()
    myProcess.WaitForExit()
    myProcess.Close()

  2. #2
    Membre éprouvé Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Points : 1 188
    Points
    1 188
    Par défaut
    Bonjour,

    Après le démarrage de ton process, tu récupères la propriété mainwindowhandle de ton instance de process qui est vraisemblablement une instance de la classe Form. et ensuite tu utilises Control.FromHandle(tonProcess.mainwindowhandle) que tu castes en Form et appelles Bringtofront...

    ça devrait marcher

    Bon dév.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    158
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 158
    Points : 41
    Points
    41
    Par défaut
    Merci pour ta réponse!!
    Pour tous ceux que ça pourrait intéresser, j'ai utiliser une façon plutôt simple, et qui me convient parfaitement:
    Au moment de lancer l'autre application, je fais passer la propriété 'topmost' de ma fenêtre sur 'false', puis quand l'autre application a quitté je la remet sur 'true'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim myProcess As New Process()
    myProcess.StartInfo.FileName = emuName
    myProcess.StartInfo.WorkingDirectory = emuDir
    myProcess.StartInfo.Arguments = emuCmdFull
    myProcess.Start()
    Me.Topmost = False
    myProcess.WaitForExit()
    myProcess.Close()
    Me.Topmost = True

Discussions similaires

  1. Réponses: 0
    Dernier message: 24/03/2009, 18h27
  2. Affichage en premier plan d'une TextBox
    Par molo2003 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 20/10/2007, 13h28
  3. comment forcer un messageboxA en premier plan?
    Par gregcat dans le forum Delphi
    Réponses: 3
    Dernier message: 01/06/2006, 15h45
  4. Réponses: 2
    Dernier message: 07/02/2005, 16h43
  5. [glut] forcer l'affichage au premier plan
    Par khayyam90 dans le forum OpenGL
    Réponses: 7
    Dernier message: 19/07/2004, 14h37

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