Alternative zu Polling
-
Hallo,
ich optimiere gerade ein älteres Programm von mir und möchte gerne ein paar Polling Abfragen "anders" bzw. Leistungsoptimierter verpacken. Wie kann man das realisieren? Angeblich geht das mit Interrupts aber wie das genau funktioniert habe ich noch nicht herausgefunden. Ich hoffe ich könnt mir helfen.
Mfg
Alpha_Coder
-
Dazu müsste man wissen, was du pollst. Handelt es sich um externe Hardware, mit der du kommunizierst? Sockets? IPC?
-
Was pollst Du und bei wem?
-
Mein Programm fragt mittels GetAsyncKeyState() ein Zeichen solange ab, bis es gedrückt wurde und fährt dann fort bzw. reagiert darauf. Mit einer Endlosschleife nehme ich aber nur unnötige CPU in Anspruch.
-
Dafür konnte man früher Hooks benutzen, aber die gibt es auf NT x64 glaube ich nicht mehr aus Sicherheitsgründen? Einfach mal so als Stichwort reingeworfen
-
Alpha_Coder schrieb:
Mein Programm fragt mittels GetAsyncKeyState() ein Zeichen solange ab, bis es gedrückt wurde und fährt dann fort bzw. reagiert darauf. Mit einer Endlosschleife nehme ich aber nur unnötige CPU in Anspruch.
Was für Tasten? Warum nicht einfach std::cin benutzen? Oder fragst Du spezielle Tasten ab?
-
Dieser Thread wurde von Moderator/in volkard aus dem Forum C++ (auch C++0x) in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Läuft dein Programm in einem Fenster?
-
Um genau zu ein läuft mein Programm in Hintergrund ohne Fenster. Wenn ich nun STRG+T drücke, minimiert das Programm alle offenen Anwengungen und startet meinen Texteditor. Zurzeit verwende ich hierfür eine Endlosschleife mit einer if Abfrage und die API Funktion Sleep(50). Das ist aber nach meiner Ansicht alles andere als optimal und elegant. Dennoch vielen Dank für andere Lösungen.
-
Hi,
Start/Programme/"gewünschte Anwendung", hier rechter Mausklick auf die Anwendung; dann auf "Eigenschaften" und hier im Register "Allgemein" die Zeile "Tastenkombination" mit deinem Wunsch-ShortCut befüllen!
Damit wäre das Problem gelöst??
-
Haßt du ein Problem mit Polen?
-
ausraster schrieb:
Haßt du ein Problem mit Polen?
Hast du ein Dachschaden?
-
Wie wäre es mit RegisterHotkey?