Obtenção da posição do cursor do mouse quando clicada para fora do limite do formulário

É muito fácil colocar a posição do cursor fora dos limites do formulário, basta arrastar o mouse e ele envia muitos valores para o formulário sempre que a posição mudar, forme a seguinte linha de códig

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

Mas preciso obter a posição do mouse quando o usuário clique, ed fora do limite dos formulários. Não apenas passando o mouse. Eu usei a seguinte linha de código para fazer isso:

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

Eu coloquei MessageBox.Show (Cursor.Position.ToString ()); em formulários Desativar evento. Quando o usuário clica fora do formulário, esse evento definitivamente ocorre. Mas também envia valores errados quando o usuário não clica fora, mas altera o programa usandoALT + TAB combinação de teclas. Na verdade, eu tenho que capturar a captura de tela da área a partir da posição do primeiro clique. Portanto, preciso da posição do cursor quando ele é clicado fora do formulário. gostar:

questionAnswers(5)

yourAnswerToTheQuestion