2017-06-12 2 views
0

Ich habe ein Remote-System, das Maus und Tastatur verwendet, um Ereignisse, meist E-Mail-Daten, zu handeln.Windows Mouse - Soft Mouse, wenn Hardware entfernt oder fehlerhaft ist?

Hin und wieder, verliere ich die Maus - Benutzer Unplug

Meine Anwendung in C# programmiert.

Ich habe Legacy Mouse Treiber angeschaut, aber Windows 10 scheint diese alte Technologie nicht mehr zu unterstützen.

Wie kann ich Windows denken, es gibt eine Maus immer noch verbunden und funktioniert? Oder gibt es eine Arbeit für dieses Problem?

Antwort

0

MickyDs Antwort war ausgezeichnet, aber es war nicht ganz da. Ich musste Windows dazu bringen, eine Mausbewegung mit:

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] 
public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo); 

private const uint MOUSEEVENTF_ABSOLUTE = 0x8000; 
private const uint MOUSEEVENTF_MOVE = 0x0001; 

uint dest_x = (uint)(coordinate.X * 65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width); 
uint dest_y = (uint)(coordinate.Y * 65535/System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height); 

mouse_event(MOUSEEVENTF_ABSOLUTE + MOUSEEVENTF_MOVE, dest_x, dest_y, 0, 0); 

Hinweis Diese Funktion wurde ersetzt. Verwenden Sie stattdessen SendInput.

Siehe: https://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx

Bisher dies funktioniert, auch nach einem Neustart!

Ich hoffe, das hilft anderen da draußen!

2

"Fooling" die Maus müsste wahrscheinlich von der OS-Ebene statt von einer App erfolgen. Zum Glück gibt es einen Weg mit keine Programmierung erforderlich.

Microsoft Windows 10 (und vielleicht auch frühere Versionen von Windows) verfügen über eine Einstellung in Control Panel genannt erleichterten Bedienung Mauseinstellungen. Auf dieser Seite finden Sie eine Einstellung mit dem Titel Verwenden Sie die Zehnertastatur, um die Maus um den Bildschirm zu bewegen, die, wenn aktiviert, genau das tut, was sie sagt.

enter image description here

Windows-Anwendungen sind völlig blind, dass Maus-overs und Klicks werden tatsächlich von der Tastatur eingeleitet werden und nicht mit einer normalen Maus.

+0

Dies funktionierte bis zu einem Neustart. Nach dem Reboot, kein Mauszeiger/Cursor - Entschuldigung, ich musste als Antwort abwählen, da es nicht die komplette Lösung ist obwohl eine ausgezeichnete - Danke! –

+0

@RustyNail also nur nach dem Neustart wieder aktivieren. Job done – MickyD

+0

Nur durch erneutes Einstecken der Maus funktioniert das nicht anders. Keine Maus, kein Zeiger/Cursor, keine Mausbewegung auf dem Bildschirm. –