2016-07-10 31 views
0

Ich verwende Windows Forms in C# mit SharpDX RawInput.WM_INPUT nicht empfangen, wenn nicht im Fokus

Alles funktioniert gut, aber wenn das Fenster den Fokus verliert, hören die Nachrichten auf.

Ich habe meinen eigenen Nachrichtenfilter mit Application.AddMessageFilter registriert und die Nachrichten machen es nicht einmal dort, wenn der Fokus verloren ist.

Waren WM_INPUT-Nachrichten nicht unabhängig vom Fokus? Wie mache ich das, wenn das Fenster im Hintergrund ist?

Antwort

0

Der Trick besteht darin, die RIDEV_INPUTSINK Flagge zu setzen. In SharpDX ist dies als DeviceFlags.InputSink bekannt.

+0

Ich habe ein ähnliches Problem - ich weiß, dass dieses Flag das richtige ist, aber wenn ich es in der [SharpDX Demo-App] (https://github.com/sharpdx/SharpDX-Samples/blob/master /Desktop/RawInput/RawInputTrackApp/Program.cs#L49), bekomme ich keine Eingaben mehr, selbst wenn die App fokussiert ist. –