Ich habe versucht, ein Programm zur Anzeige von Mauszeigerbewegungen zu erstellen, indem ich Bilder basierend auf den Bewegungen erstellt habe. Das Problem besteht darin, dass die Anwendung in der Lage ist, Mausbewegungen auch dann zu erkennen und zu verfolgen, wenn sie nicht fokussiert/minimiert sind.Cursorposition holen, wenn alle Anwendungsformulare unscharf sind
Bis jetzt habe ich versucht, viele verschiedene Ansätze zu verwenden, wie globale Maus-Hooks. Der Code für das Mousemove-Ereignis ist unter (sp = Ausgangspunkt, ep = Endpunkt):
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
if (k == 0)
{
ep = e.Location;
g = this.CreateGraphics();
g.DrawLine(p, sp, ep);
}
sp = ep;
}
Dieser Code funktioniert nur Mausbewegungen zu verfolgen, wenn die Form und die einzige Bewegung, über die Form konzentriert. Es gibt einen anderen Weg, wo ich die Bewegung außerhalb des Formulars verfolgen konnte, aber es funktioniert nicht mehr, wenn sich die Größe des Formulars ändert.
Was ist die richtige/beste Art, Bewegung mit einem globalen Maushaken oder ähnlichem zu verfolgen?
Nicht verwandt mit Ihrer Frage, aber Sie werden wahrscheinlich später auf der Grundlage Ihres Beispielcodes dazu kommen; Wenn Sie sich jemals '.CreateGraphics' nennen, machen Sie wahrscheinlich 99,9% der Zeit etwas falsch. –