simular doble clic desde c#

23/04/2004 - 14:02 por Pablo | Informe spam
hola.

es posible simular un dobleclic desde una aplicacion c#?

osea dejar el puntero del mouse en una ubicación fija y que cada cierto
tiempo de genere un doble clic?

muchas gracias.

Preguntas similare

Leer las respuestas

#6 Pablo
27/04/2004 - 19:03 | Informe spam
Sergi, muchas gracias!!

Voy a ver que puedo hacer

(ayer te mande la respuesta y no llego a las news, asi que por ahi veas
este mensaje 2 veces)


Saludos.


sergi wrote:

Entonces deberás utilizar funciones de la API de Win32. Primero, para
obtener el handle de la ventana sobre la que quieres hacer doble click. En
este caso te sirven funciones como FindWindow, FindWindowEx y
EnumChildWindows: para utilizarlas desde c# deberás hacer p/invoke. Una vez
tengas el handle de la ventana donde quieres simular el doble click, deberás
utilizar otra funcion de Win32, SendMessage, para mandarle el mensaje
WM_LBUTTONDBLCLK

Para utilizar las funciones que te he comentado, desde c#:

<code>
namespace DoubleClickTest
{
public sealed class Windows
{
public const UInt32 WM_LBUTTONDBLCLK = 0x0203;

[DllImport("user32.dll")]
public static extern int SendMessage( IntPtr handle, UInt32 message,
int wParam,
int lParam);
[DllImport("user32.dll")]
public static extern int FindWindow(string className, string title);
[DllImport("user32.dll")]
public static extern int FindWindowEx(IntPtr hwndParent, IntPtr
hwndChildAfter,
string lpszClass, string lpszWindow);
}
}
</code>

Si, por ejemplo, quieres que al pulsar un botón de tu aplicación se genere
un evento double click en
un label de texto 'label1' de otra aplicación, en el evento click de tu
botón:

<code>
private void button1_Click(object sender, System.EventArgs e)
{
//buscamos la ventana principal de la aplicación
int hWnd = Windows.FindWindow(null, "Form1");
//buscamos el componente de texto 'label1' de la ventana principal
int labelHWnd = Windows.FindWindowEx((IntPtr)hWnd, (IntPtr)0, null,
"label1");
//le enviamos el mensaje de doble click
Windows.SendMessage((IntPtr)labelHWnd, Windows.WM_LBUTTONDBLCLK, 0, 0);
}
</code>


Sergio Borrás

Pablo" escribió en el mensaje
news:

Sergi, en una ventana de otra aplicacion.


Muchas GRacias.




sergi wrote:

El evento lo quieres simular en una ventana de tu aplicación o en una
ventana de otra aplicación ?


Sergio Borrás


"Pablo" escribió en el mensaje
news:#


hola.

es posible simular un dobleclic desde una aplicacion c#?

osea dejar el puntero del mouse en una ubicación fija y que cada cierto
tiempo de genere un doble clic?

muchas gracias.













email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida