Foros del Web » Programación para mayores de 30 ;) » .NET »

Codigo para detectar el mouse en cualqueir parte de windows

Estas en el tema de Codigo para detectar el mouse en cualqueir parte de windows en el foro de .NET en Foros del Web. hola, tengo un codigo q cuando doy click ya sea izquierdo o derecho en cualquier parte de windows, deberia retornar el programa y el nombre ...
  #1 (permalink)  
Antiguo 07/09/2011, 00:37
 
Fecha de Ingreso: agosto-2011
Mensajes: 18
Antigüedad: 13 años, 3 meses
Puntos: 0
Pregunta Codigo para detectar el mouse en cualqueir parte de windows

hola, tengo un codigo q cuando doy click ya sea izquierdo o derecho en cualquier parte de windows, deberia retornar el programa y el nombre del archivo, por ejemplo, un archivo de word, deberia retornar Microsoft Word - Documento1, pero lo q me retorna es "Program Manager", el codigo es el siguiente

public partial class Form1 : Form
{
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
public static extern IntPtr GetForegroundWindow();

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern int GetWindowText(IntPtr hWnd, StringBuilder lpString, int nMaxCount);

[DllImport("User32.dll")]
private static extern short GetAsyncKeyState(System.Windows.Forms.Keys vKey);

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
Timer1.Interval = 10;
}


private void retVentanaActiva()
{
try
{
IntPtr handle;
StringBuilder Buffer = new StringBuilder();

handle = GetForegroundWindow();
if (handle.ToInt32() == 0)
retVentanaActiva();

GetWindowText(handle, Buffer, 255);

label1.Text = ">>se hizo click en : " + Buffer;
}
catch (Exception) { }
}

private void timer1_Tick(object sender, EventArgs e)
{
if (GetAsyncKeyState(Keys.LButton) == -32767)
retVentanaActiva();

if (GetAsyncKeyState(Keys.RButton) == -32767)
retVentanaActiva();
}

}

Etiquetas: mouse, windows
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:05.