Obtener posición del cursor del mouse cuando se hace clic fuera del límite del formulario

Es muy fácil sacar la posición del cursor fuera del límite del formulario simplemente arrastrando el mouse, envía muchos valores al formulario cuando la posición cambia, forma la siguiente línea de código.

        MessageBox.Show(Cursor.Position.ToString());

Pero necesito obtener la posición del mouse cuando el usuario click, ed fuera del límite de los formularios. No con solo pasar el mouse. Usé la siguiente línea de código para hacer esto:

    private void Form1_Deactivate(object sender, EventArgs e)
    {
        MessageBox.Show(Cursor.Position.ToString());
    }

Coloqué MessageBox.Show (Cursor.Position.ToString ()); en formularios Desactivar evento. Cuando el usuario hace clic fuera del formulario, este evento definitivamente ocurre. Pero también envía valores incorrectos cuando el usuario no hace clic afuera pero cambia el programa usandoALT + TAB combinación de teclas. En realidad, tengo que capturar la captura de pantalla del área a partir de la posición del primer clic. Por lo tanto, necesito la posición del cursor cuando se hace clic fuera del formulario. me gusta:

Respuestas a la pregunta(5)

Su respuesta a la pregunta