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 :

Envoyer un mouse event sur RDP


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 19
    Par défaut Envoyer un mouse event sur RDP
    Bonjour,

    J'aimerai envoyer un mouvement de souris toutes les minutes sur une fenetre. En l'occurence sur le Mobile Remote Desktop qui après 10 minute sans action se ferme.

    J'ai réussi a bouger la souris toute les minutes avec ce code :


    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
     
     
     
    [DllImport("coredll.dll" )]
            static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint dwData, int dwExtraInfo);
     
            static void Main(string[] args)
            {
                Thread myThread;
     
                myThread = new Thread(new ThreadStart(MouseEvent));
                myThread.Start();
            }
     
            public static void MouseEvent()
            {
     
                Point p = new Point();
                for (int i = 0; i < 30; i++)
                {
     
     
                        GetCursorPos(ref p);
                        mouse_event((uint)MouseEventFlags.MOVE, (uint)p.X + 1, (uint)p.Y, 0, 0);
     
                        Thread.Sleep(60000);
     
                }
     
            }


    Le problème c'est qu'apparemment ça marche que pour une fenetre en premier plan. En tout cas, sur mon pda (Windows Mobile 6), le Remote desktop ne reçoit rien puisqu'au bout de 10 minute il se ferme .

    J'ai essayé une deuxième options avec sendmessage sans succes:



    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
    36
    37
    38
    39
    40
     
    [DllImport("coredll.dll", CharSet = CharSet.Auto, SetLastError = false)]
            static extern IntPtr SendMessage(IntPtr hWnd, Int32 Msg, IntPtr wParam, IntPtr lParam);
            private const int WM_MOUSEMOVE = 0x0200;
     
            static void Main(string[] args)
            {
                Thread myThread;
     
                WriteInFile("toto.txt", "test" );
                myThread = new Thread(new ThreadStart(MouseEvent));
                myThread.Start();
            }
     
            public static void MouseEvent()
            {
     
                Point p = new Point();
                for (int i = 0; i < 30; i++)
                {
                    // Get a handle to the application.  
                    IntPtr windowHandle = FindWindow("TSSHELLWND", null);
     
                    // Verify that it is a running process. 
                    if (windowHandle == IntPtr.Zero)
                    {
                        Console.WriteLine("Process is not running." );
                        return;
                    }
                    else
                    {
     
                        SendMessage(windowHandle, WM_MOUSEMOVE, (IntPtr)1, (IntPtr)1);
     
                        Thread.Sleep(60000);
     
                    }
                }
     
            }




    Si quelqu'un a une idée... qu'il me fasse signe

    Merci.

  2. #2
    Membre confirmé Avatar de Attrox
    Profil pro
    Concepteur
    Inscrit en
    Mars 2009
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Concepteur

    Informations forums :
    Inscription : Mars 2009
    Messages : 119
    Par défaut
    Je pense que sa ne marche que sur une fenêtre o premier plan car
    IntPtr windowHandle = FindWindow("TSSHELLWND", null);
    récupère le handle de ta fenêtre au premier plan et non celle de ta fenêtre utiliser.

Discussions similaires

  1. Mouse events sur Form, à travers les contrôles
    Par Jeterh dans le forum Windows Forms
    Réponses: 2
    Dernier message: 02/11/2012, 18h52
  2. Afficher/Cacher Control sur Mouse Events
    Par dudu1513 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 01/08/2012, 15h33
  3. Mouse events sur un element css hidden
    Par SpaceFrog dans le forum jQuery
    Réponses: 13
    Dernier message: 07/03/2012, 15h49
  4. Mouse Event sur un treeItem
    Par lanyl dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 26/11/2006, 08h29
  5. Bouton inactif et mouse event
    Par poulette dans le forum MFC
    Réponses: 2
    Dernier message: 03/02/2005, 14h18

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