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

C# Discussion :

Changer le focus de windows pour faire un sendkey a une autre application.


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 50
    Points : 29
    Points
    29
    Par défaut Changer le focus de windows pour faire un sendkey a une autre application.
    Bonjour à tous!

    Je suis devant une impasse. Cela fait un certain temps que je cherche sur google, mais ce que je recherche m'envois beaucoup de choses qui n'ont rien à voir avec ce que je cherche... Alors je me tourne vers vous!

    Dans mon application, je lance une nouveau processus (vlc en l'occurence) via un process.start. Ensuite, je souhaiterais focus vlc pour pouvoir lui envoyer des sendkey (pour pouvoir le regler comme je souhaite automatiquement, en le lançant entre autre en mode plein écran).

    Je vous montre le bout de code ou je voudrais faire ca (c'est dans un timer):

    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
    static void s_myTimer_vlc(object sender, EventArgs e)
            {
                if (s_myCounter == 0)
                    Process.Start(".\\film.mkv");
     
                if (s_myCounter == 1)
                {
                    s_myTimer.Interval = 1340000;
                    // ===>>> ICI focus sur vlc
                    System.Windows.Forms.SendKeys.Send("f");
     
                }
     
                if (s_myCounter >= 1)
                {
                    closeApp("vlc");
                    s_myTimer.Stop();
                    s_myCounter = 0;
                    s_myTimer.Tick -= new EventHandler(s_myTimer_vlc);
                    s_myTimer.Tick += new EventHandler(s_myTimer_firefox);
                    s_myTimer.Interval = 60000;
                    s_myTimer.Start();
                }
                s_myCounter++;
            }
    Pour ceux qui se posent la question, c'est un programme de simulation d'utilisation bureautique pour bencher des batteries de pc portables ^^


    Merci d'avance pour vos retours!

  2. #2
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 50
    Points : 29
    Points
    29
    Par défaut
    Bon ben a force de chercher j'ai fini pas y arriver! J'ai trouver une page sur la msdn ( http://msdn.microsoft.com/en-us/library/ms171548.aspx ).

    Voici les 2 prototypes des fonctions que j'ai utilisées:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    // Get a handle to an application window.
    [DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
    public static extern IntPtr FindWindow(string lpClassName,
        string lpWindowName);
     
    // Activate an application window.
    [DllImport("USER32.DLL")]
    public static extern bool SetForegroundWindow(IntPtr hWnd);

    En esperant que ca puisse aider quelqu'un d'autre un jour!

    Je me remercie d'avoir trouver la solution a mon probleme ^^

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 312
    Points : 411
    Points
    411
    Par défaut
    L'API vlc ne pourrait elle pas convenir ?

    Si oui ca me semble + propre tout de même

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

Discussions similaires

  1. [2008R2] Stored Procedure pour faire un select dans une autre base de données
    Par jefftardif dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/02/2014, 13h57
  2. Réponses: 2
    Dernier message: 21/07/2008, 14h05
  3. Réponses: 3
    Dernier message: 04/06/2008, 10h19
  4. Hook pour récupérer les messages windows d'une autre application
    Par Tuizi dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 07/12/2007, 15h30
  5. problème pour faire un insert avec une image
    Par vbcasimir dans le forum Modules
    Réponses: 3
    Dernier message: 02/11/2005, 09h21

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