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 :

Mettre une application au premier plan sous XP


Sujet :

VB.NET

  1. #1
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut Mettre une application au premier plan sous XP
    Bonjour,

    Je travail actuellement sur un projet qui sert d'aide à la saisie pour les personnes aux postes téléphonique de mon entreprise pour "copié" des phrases personnalisés dans l'ERP.

    Actuellement, pour le faire marcher on ouvre IE sous l'adresse http://xxx, ensuite on ouvre le logiciel, ainsi celui ci est au premier plan, on clic sur une phrase tel que "Ping du post NOK" le programme pas en arrière plan avec un "me.hide", IE se retrouve donc au premier plan, le "copié" est effectué et le logiciel revient au premier plan avec un "me.show".

    Ceci marche très bien sous Windows 7 seulement les postes de mon entreprise sont sous XP et cela ne marche. XP ne gère pas le "premier plan" comme 7, la fenêtre IE revient bien au premier plan comme pour Windows 7 mais elle est pas "active", comme quand on clic dessus, elle reste "grisé".

    Je voulais donc savoir si il existait une méthode pour mettre un processus appelé iexplore.exe au premier plan? sachant que j'arrive à avoir la liste des processus ouvert avec un "SELECT * FROM win32_process".

    Merci, Retwas

  2. #2
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Irlande

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Points : 318
    Points
    318
    Par défaut
    Peut-être un petit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.show()
    Me.focus()
    pourrait arranger cela.

    Par contre pas compris la requête SQL sur le process win32...

    Pourrais-tu m'expliquer ? Si c'est possible ça m'interesserait

  3. #3
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Homo_Informaticus Voir le message
    Peut-être un petit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Me.show()
    Me.focus()
    pourrait arranger cela.

    Par contre pas compris la requête SQL sur le process win32...

    Pourrais-tu m'expliquer ? Si c'est possible ça m'interesserait
    Bonjour,

    Il faudrait faire un Me.focus() mais sur IE. Pour que celui ci soit en premier plan et actif.

    J'arrive à détecter que IE soit ouvert avec cette requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    objProcess = "iexplore.exe"
            For Each Process In GetObject("winmgmts:").InstancesOf("Win32_process")
                If UCase(Process.Name) = UCase(objProcess) Then
                    MonProcess = True
     
                    Form1.Hide()
     
                End If
            Next
    Et si IE est ouvert on cache le formulaire pour copié le texte choisi sur IE qui doit se retrouver au premier plan.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
           If MonProcess = True 
                Clipboard.SetText(ContenuTextBox)
     
                'coller texte 
                Windows.Forms.SendKeys.Send("^V")
                ' ----- 
                Form1.Show()
    End If
    Ensuite on fait réapparaitre le formulaire avec le Me.Show().

  4. #4
    Membre averti
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Août 2010
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Irlande

    Informations professionnelles :
    Activité : Consultant fonctionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 98
    Points : 318
    Points
    318
    Par défaut
    D'accord je n'avais pas compris que c'était sur IE que tu voulais prendre le focus.

    Pourquoi ne pas instance un objet de type WebBrowser directement dans ton appli ?

    Ca fera plus "intégré" et tu peux manipuler les URL sans aucun soucis !

    Sinon pour prendre le focus d'un processus déjà ouvert je ne pourrais te répondre désolé

  5. #5
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    okay merci de ta réponse, j'attends de voir si quelqu'un sais mettre une application externe en focus

  6. #6
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    Ah finalement j'ai réussi a mettre une application en premier plan avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AppActivate("test.txt - Bloc-notes")
    Seulement le coller avec la fonction "^V" ne se fait pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Clipboard.SetText("test texte copier")
            Me.Hide()
            'coller texte 
            AppActivate("test.txt - Bloc-notes")
            Windows.Forms.SendKeys.Send("^V")
            Me.Show()

  7. #7
    Membre expérimenté
    Avatar de retwas
    Homme Profil pro
    Développeur Java/Delphi
    Inscrit en
    Mars 2010
    Messages
    698
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Java/Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 698
    Points : 1 608
    Points
    1 608
    Billets dans le blog
    4
    Par défaut
    En faisant un ^v avec un "v" minuscule sa marche, mais il faut que j'enlève le Me.Show() d'après, si je le remet sa fait pas le copié, savez vous pourquoi?

    Merci

Discussions similaires

  1. Mettre une application au premier plan
    Par retwas dans le forum VB.NET
    Réponses: 0
    Dernier message: 15/04/2011, 09h04
  2. Mettre une fenetre au premier plan
    Par madislak dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 14/02/2006, 00h32
  3. Réponses: 1
    Dernier message: 22/11/2005, 11h00
  4. Mettre une application en premier plan
    Par portu dans le forum API, COM et SDKs
    Réponses: 15
    Dernier message: 23/02/2005, 15h39
  5. Réponses: 2
    Dernier message: 07/02/2005, 16h43

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