GetCursorPos

Guten Abend.
Ich habe folgendes Problem bei einer C++-Win32-Anwendung (Visual C++). Ich verwende GetCursorPos, um die Mauskoordinaten zu ermitteln. Abhängig von diesen sollte etwas auf dem Fenster gezeichnet werden. Das Programm kompiliert problemlos, aber wenn ich es ausführe, gibt GetCursorPos immer die Koordinaten (0|0) zurück, was an der Ausgabe ersichtlich ist.
Wenn ich aber das Programm im Debug-Modus starte, werden nicht nur die Koordinaten richtig ermittelt, es wird sogar das gewünschte Ergebnis gezeichnet. Da ich aber das Programm nicht nur im Debug-Modus ausführen will, wüsste ich gerne woran es liegen kann, dass GetCursorPos zwar im Debug-Modus funktioniert aber nicht außerhalb der IDE.
Danke im Voraus.
Gabriel
 
Also ich denke, dass hat etwas mit Windows und den Zugriffsrechten zutun.
Z.b. können Prozesse nicht umbedingt auf andere Prozesse zugreifen, können dies jedoch, wenn man sie im Debug-Modus laufen lässt, oder sie ein wenig modifiziert.

Oder irre ich mich und es hat nichts mit den Zugriffsrechten von Windows zutun?!
 
So sollte es problemlos klappen...

Code:
#include <windows.h>
#include <stdio.h>

#define WIN32_MEAN_AND_LEAN

int main()
{
    POINT p;
    
    while(1)
    {
            GetCursorPos(&p);
            printf("X: %d ",p.x);
            printf("Y: %d\n",p.y);
            Sleep(500); // CPU schonen ;-)
    }
    return 0;
}
 
probiers mal mit folgendem code:

Code:
Point get_MousePosition();				
int x,y;
y = Control::MousePosition.Y;
x = Control::MousePosition.X;
MessageBox::Show(x.ToString()+","+y.ToString());

oder mit folgendem Code wobei mausx und mausy variablen sind (int).

Code:
mausX = e->X;
mausY = e->Y;

das muss aba bei einer mausaktion passieren

private: System::Void Form1_MouseMove(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)

in diesem falle mousemove

lg

melde doch obs geklappt hat
 
Zurück
Oben