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.


  • Mod

    @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


Anmelden zum Antworten