Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Probleme mit SetCursorPos( Nichts passiert)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
05.09.2010, 06:59 Uhr
be



Mir ist gerade aufgefallen, dass die Funktion SetCursorPos bei mir nicht funktioniert ich habe diesen einfachen Coded

#include "windows.h"

int main(void)
{
//SetCursorPos
int x = 100;
int y = 100;
while(1)
{
SetCursorPos(x, y);
}
return 0;
}

die user32.lib ist auch gelinkt, ich bekomme keine Compiler Errors. Der Mauszeiger will sich einfach nicht bewegen ... er bleibt stur auf dem Punkt wo er vor Ausführung des Programmes war

könnte mir bitte jemand helfen oder wenn sich keine Lösung finden lässt mir Alternativen geben?

Danke
lg be
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.09.2010, 11:14 Uhr
TOSHMAX



Lass dir mal das return value von SetCursorPos ausgeben und zusätlich auch das von GetLastError(). Damit kann man den Fehler wesentlich leichter finden.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
06.09.2010, 05:20 Uhr
~be
Gast


SetCursorPos gibt 0 zurück -> wohl ein fehler
MSDN:

Returns nonzero if successful or zero otherwise. To get extended error information, call GetLastError.

GetLastError liefert mir nur: "Der Vorgang wurde erfolgreich beendet."

eine funktion stellt einen error fest die andere nicht was soll ich jetzt machen hat jemand eine idee?

PS danke für die schnelle antwort
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.12.2010, 00:07 Uhr
Mascht



In der MSDN steht bei SetCursorPos noch:

Remarks

The cursor is a shared resource. A window should move the cursor only when the cursor is in the window's client area.

The calling process must have WINSTA_WRITEATTRIBUTES access to the window station.

The input desktop must be the current desktop when you call SetCursorPos. Call OpenInputDesktop to determine whether the current desktop is the input desktop. If it is not, call SetThreadDesktop with the HDESK returned by OpenInputDesktop to switch to that desktop.

So hats bei mir geklappt:


C++:
#include <windows.h>

int main(void)
{
    HDESK hDesk = OpenInputDesktop(0,TRUE,GENERIC_WRITE);

    if(hDesk != NULL)
    {
        SetThreadDesktop(hDesk);

        SetCursorPos(100,100);
    }

    return 0;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: