Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C#] Click mouse

    Ciao a tutti.
    Volevo realizzare un'applicazione che simulassi il click del mouse, e ho trovato questo codice:


    Codice PHP:
    DllImport("user32.dll",CharSet=CharSet.AutoCallingConvention=CallingConvention.StdCall)]
       public static 
    extern void mouse_event(long dwFlagslong dxlong dylong cButtonslong dwExtraInfo);

       private const 
    int MOUSEEVENTF_LEFTDOWN 0x02;
       private const 
    int MOUSEEVENTF_LEFTUP 0x04;
       private const 
    int MOUSEEVENTF_RIGHTDOWN 0x08;
       private const 
    int MOUSEEVENTF_RIGHTUP 0x10;

     public 
    void DoMouseClick()
            {
                
    //Call the imported function with the cursor's current position
                
    long X Cursor.Position.X;
                
    long Y Cursor.Position.Y;
                
    mouse_event(MOUSEEVENTF_LEFTDOWNXY00);
            } 
    ma quando richiamo DoMouseClick, mi appare un'eccezione "PInvokeStackImbalance" che recita:

    "Una chiamata alla funzione PInvoke 'ProvaClick!ProvaClick.Form1::mouse_event' ha sbilanciato lo stack. Questo problema può verificarsi quando la firma PInvoke gestita non corrisponde alla firma di destinazione non gestita. Verificare che la convenzione di chiamata e i parametri della firma PInvoke corrispondano alla firma di destinazione non gestita."


    Sapreste dirmi cosa devo migliorare nel mio codice perchè non venga lanciata l'ecezzione?
    Programmazione .NET
    http://www.samueletosatto.tk

  2. #2
    Perfetto ho trovato la soluzione
    sostituite i parametri: sono di tipo int non di tipo long!!!!!
    E funzionerà tutto a meraviglia
    Programmazione .NET
    http://www.samueletosatto.tk

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.