Aktuelles Cursor "Bild" herausfinden
-
Hallo Leute!
Ich möchte herausfinden ob mein Mauszeiger gerade eine Sanduhr zeigt.
Brauche das, damit ich meinem Programm sagen kann: Wenn der PC lädt, dann mach kurz nicht weiter.
gibt es da sowas wie
getCursor();
oder sowas?
MfG
WARFIRE
-
Wäre es da nicht besser, abhängig von der CPU-Auslastung eine Pause einzulegen? Ich weiß ja nicht genau, wie dein Fall konkret aussieht...
-
Das Problem war, das ich auf das andere Programm warten musste.
Habs auch schon gelöst:
Die Funktion holt sich den aktuellen mauszeiger und wartet solange bis dieser sich ändert.
void functions::wait_cursor_change() { HCURSOR hcursor_temp; HCURSOR hcursor; CURSORINFO cursorinfo_temp; CURSORINFO cursorinfo; hcursor_temp=GetCursor(); cursorinfo_temp.hCursor=hcursor_temp; cursorinfo_temp.cbSize=sizeof(CURSORINFO); GetCursorInfo(&cursorinfo_temp); //std::cout << "1. " << cursorinfo_temp.hCursor << " "; do{ hcursor=GetCursor(); cursorinfo.hCursor=hcursor; cursorinfo.cbSize=sizeof(CURSORINFO); GetCursorInfo(&cursorinfo); }while(cursorinfo_temp.hCursor == cursorinfo.hCursor); //std::cout << "2. " <<cursorinfo.hCursor << "\n"; }
MfG
WARFIRE
-
Und kann nicht auch ein anderes Programm den Cursor ändern?
-
Hi,
auf Threads und Processe wartet man für gewöhnlich mit einer der Wait-Funktionen wie z.B. WaitForSingleObject.
MfG,
t/p.p.
-
@WAR][FIRE: Dafür belastest Du nun das System mit 100% Prozessor Last?
Die aktuelle Last des Computers, kannst Du weitaus besser mit anderen Funktionen ermitteln, vor allem weitaus dteailierter, denn was sagt schon die Sanduhr?
z.B.: GetSystemTimes/GetProcessTimes