3 Stimmen

Gibt es eine Möglichkeit, zu prüfen, ob der Benutzer gerade im Leerlauf ist?

Es gibt eine Dokumentation im Internet, aus der hervorgeht, dass Windows das Verhalten des Befehls NotifyIcon.BalloonTipShown ändert, wenn sich der Benutzer gerade im Leerlauf befindet und dies durch Überprüfung auf Tastatur- und Mausereignisse erkannt . Ich arbeite derzeit an einer Anwendung, die die meiste Zeit in der Taskleiste verbringt, aber von Zeit zu Zeit mehrere Sprechblasentipps einblendet, und ich möchte verhindern, dass der Benutzer einen von ihnen verpasst, wenn er gerade nicht am System ist. Da alle derzeit angezeigten Sprechblasentipps zerstört werden, wenn ein neuer angezeigt wird, möchte ich sie nicht mehr anzeigen, wenn der Benutzer nicht anwesend ist.

Gibt es eine Möglichkeit, zu prüfen, ob der Benutzer sich im Leerlauf befindet, wenn die Anwendung in die Taskleiste minimiert ist?

4voto

Mark Cidade Punkte 95914

Wie wäre es mit dem Win32 LASTINPUTINFO Funktion?

using System.Runtime.InteropServices;

[DllImport("User32.dll")] 
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

struct LASTINPUTINFO 
{
    public uint cbSize;
    public uint dwTime;
}

0 Stimmen

Richtig!!! Ich würde einfach einen Link zum LASTINPUTINFO mit LayoutKind.Sequential hinzufügen: pinvoke.net/default.aspx/Strukturen/LASTINPUTINFO.html

1voto

lubos hasko Punkte 24316

Verwalteter Code

Überprüfen Sie die Position der Maus jede Sekunde. Wenn es neue Nachrichten für den Benutzer gibt, halten Sie sie fest, bis Sie eine Bewegung mit der Maus feststellen.

Nicht verwalteter Code

Voir Erkennung der Leerlaufzeit mit Maus- und Tastaturhaken

0voto

rjzii Punkte 13932

Vielen Dank für die Antworten, ich endete mit der GetLastInputInfo-Funktion, da es ziemlich einfach ist, in der Anwendung zu implementieren, an der ich arbeite.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X