Veröffentlicht 15. Juni 201015 j hallo erstmals, habe unter "suchen" leider kein befriedigendes ergebniss bekommen und auch google konnte mit nicht weiterhelfen. ich möchte ein Programm schreiben das die x,y-Koordinaten auf meinem Desktop in 2 parametern zurückgibt Wichtig: ich bin noch kompletter neuling, also es wäre mir leichter ihr benutzt c, nur wenn es keinen anderen weg als c++-code gibt und bitte erklärung dazu, damit ich es auch in zukunft benutzen kann und nicht nur sinnlos einen code kopiere Kurzes Beispiel: [COLOR="Lime"] #include <windows.h> #include <stdio.h>[/COLOR] [COLOR="Navy"]void[/COLOR] funktion([COLOR="Navy"]int[/COLOR] x*, [COLOR="Navy"]int[/COLOR] y*); [COLOR="DarkGreen"]/*Die Funktion soll die x,y-koordinaten des Cursers zurückgeben in die 2 parameter */[/COLOR] [COLOR="Navy"]int[/COLOR] main() { [COLOR="Navy"]int[/COLOR] x,y; [COLOR="Magenta"]do[/COLOR] { funktion(&x,&y); [COLOR="Magenta"]printf[/COLOR]("(%d|%d)\n\n",x,y); [COLOR="Magenta"]Sleep[/COLOR](500); }[COLOR="Magenta"]while[/COLOR](x!=0||y!=0); [COLOR="Magenta"]return[/COLOR] 0; } [COLOR="Navy"]void[/COLOR] funktion(int x*, int y*) { [COLOR="DarkGreen"] //ich wüsste gerne was hier hineinkommt[/COLOR] } das programm sollte folgendes machen: alle halbe sekunden gibt es die x-y-koordinaten aus..fertig aber die dazugehörige funktion weiß ich nicht. Ich benutze zum kompilieren kleinerer programme dev-c++ da man nicht gleich ein neues projekt eröffnen muss wenn es kleiner ist. sonst nehme ich visual c++ 2008 express edition Betriebssystem: windows7 lg laubi
16. Juni 201015 j zur vollständigkeit die lösung: #include <windows.h> #include <stdlib.h> #include <stdio.h> using namespace std; int main() { POINT mPos; while(1) { Sleep(1); GetCursorPos(&mPos); printf("X: %d Y: %d\n",mPos.x,mPos.y); system("cls"); //cout << "\nX:" << mPos.x << " Y:" << mPos.y << endl; } return 0; } aber nun möchte ich, so eitel ich bin..das alles nur angezeigt wird, wenn ich mit der maus klicke, und es in einen array abspeichere. das abspeichern ist null-problem, aber das klicken schon, also ich nehe einfach das programm, minimiere es und klicke in einem externen programm ein mal, und die koordinaten sollen in dem 2-dimensionalen array gespeichert werden... wie mache ich es das die schleife nur weitergeht bis ich 1 mal irgentwohin geklickt habe?
16. Juni 201015 j schöner Performancebremser. Ich glaub du wirst da nicht um einen Mouse-Hook rumkommen. (Mausnachrichten via CALLBACK verarbeiten) Wenn du aber Glück hast, funktioniert PeekMessage. Da Standard-C hier nicht wirklich weiterhilft und du eh schon auf die WINAPI zugreifst, vielleicht hilft dir das ja: About Messages and Message Queues
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.