PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Mouse click simulator



SleiZer
31.01.2010, 15:06
Hey Leute,

und zwar möchte ich ein Programm schreiben, welches einfach nur
Mausklicks macht zu bestimmten Koordinaten.
Hat jemand eine Idee wie man sowas hinkriegt?

4ndre
31.01.2010, 15:07
..Es gibt eins für Mozilla
iMacros
https://addons.mozilla.org/de/firefox/addon/3863

Sawyer
31.01.2010, 15:24
http://cybersound.cy.funpic.de/source-code/c++/mausklick-simulieren.php
http://cybersound.cy.funpic.de/source-code/c++/mausposition.php

MfG, Sawyer

SleiZer
31.01.2010, 17:49
ah das läuft soweit, danke.


SetCursorPos(200,185);
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);


Aber wie kriege ich jetzt die Größe von dem Fenster raus indem
ich die Klicks machen will? Damit ich keine Konstanten werde
benutzen muss sondern und von der Auflösung und abhängig bin?

keyfraster
31.01.2010, 17:55
du kannst dir auch ne g9 hohlen da kannste Macros mit der aufnehmen also Klick Koordination etc. :P

SleiZer
31.01.2010, 18:24
Ehm ja das hilft mir jetzt zu dem Problem kein Stück weiter, weil
sobald ich das Programm fertig habe werde ich es ein paar Leuten
weitergeben mit deinem Vorschlag "keyfraster" müsste ich dann
allen eine G9 kaufen -.-

blackberry
31.01.2010, 18:30
Aber wie kriege ich jetzt die Größe von dem Fenster raus indem
ich die Klicks machen will?

http://lmgtfy.com/?q=get+window+size+c%2B%2B

Wenn nochmal so eine Frage kommt, die sich mit dem ersten Ergebnis auf Google lösen lässt, dann ist der Thread hier ganz schnell zu, ok?

SleiZer
31.01.2010, 22:11
Ehm ja?!
Naja wenn ich die Lösung kennen würde, würde ich nicht fragen...
und glaubt bitte nicht, dass ich es vorher nicht probiert hätte.



LPRECT size;
long dx;
long dy;
int side;
HWND hFF;

hFF = FindWindow(0,"Heroes of Newerth");
if(hFF){
if(0 == GetClientRect(hFF,&size))
{
printf("size fail");
system("pause");
}else{
dx = (size)->right;
dy = (size)->bottom;
}
leider flieg ich beim speichern der Werte immer raus ...
sieht/versteht jemand den Fehler und kann mich aufklären?

jonko
31.01.2010, 22:16
hFF = FindWindow(0,"Heroes of Newerth"); vielleicht?
der name vom fenster?

blackberry
31.01.2010, 22:17
LPRECT size; --> RECT size;

EDIT:
und entsprechend, da size nun kein Pointer mehr ist:
dx = (size)->right; --> dx = size.right;
dy = (size)->bottom; --> dx = size.bottom;

SleiZer
31.01.2010, 22:36
Ah ok.
Aber warum gibt er mir als Ergebnis: 160 x 27
obwohl das Fenster eine 1280 x 800
Auflösung haben sollte?

blackberry
31.01.2010, 22:49
Denk mal nach, was dir right und bottom angeben und was du eigentlich haben willst.

Skizze:
http://www.imagebanana.com/img/dqq3i0xf/hiuzgzuguz.png

Zum Nachlesen:
http://msdn.microsoft.com/en-us/library/dd162897%28VS.85%29.aspx

SleiZer
31.01.2010, 23:19
:!!!
Genau die Werte, die ich nicht brauche ...

blackberry
31.01.2010, 23:22
Dir ist der Begriff der Subtraktion doch bekannt, oder?

SleiZer
01.02.2010, 09:44
Das hilft mir gerade nicht weiter :???

B1044ZZ4RD
01.02.2010, 10:35
also deine auflöung die du jeze hast = x
die werte = y
dein ergebnis = a
a=x-y

SleiZer
01.02.2010, 10:39
Ja aber ich will ja gerade die Auflösung heraus finden!
Das heißt x ist eine Unbekannte.

B1044ZZ4RD
01.02.2010, 10:41
rechtklick->eigenschaften->einstellungen->bildschirmauflösung

SleiZer
01.02.2010, 11:06
Wo ist der Sinn?
Ich möchte ein Programm schreiben das die Auflösung AUTOMATISCH raus findet und ich nicht alles manuell eingeben muss...

Wie kann das Programm die Größe eines bestimmten Fensters herausfinden?

wacked
01.02.2010, 11:50
http://www.google.de/search?q=aufl%F6sung+c%2B%2B
so blacky jetz mach zu hier

fr34k*
01.02.2010, 13:13
Also Kollege, ich weiß leider nicht wie es mit deinen mathematischen Kenntnissen aussieht, doch für mich, eindeutig "nicht rosig"!

Hier mal die Erklärung:
Gesamt Größe bzw. Auflösung von deinem Bildschirm/Monitor: 800x600
Dann fragst du, wie BlackBerry0815 das schon gesagt hat, die den jeweiligen Platz zum Fenster ab! D.h. Links, Rechts, Oben und Unten!!! Das machst du, wie einige Posts vormir mit:
"size.bottom;", usw. (Ich führe das nicht weiter auf, steht ja alles da!)

Und dann rechnest du ganz einfach:
Gesamt_Höhe_Monitor - Abstand_Unten - Abstand_Oben = Gesamt_Höhe_Fenster
--
800px - 100px - 100px = 600px <- Wäre die Höhe des Fensters

Das gleiche natürlich für die Breite!
Ich hoffe ich habe mich jetzt nicht vertippt ;)

mfg fr34k*

Spongshga
01.02.2010, 13:19
Hey Leute,

und zwar möchte ich ein Programm schreiben, welches einfach nur
Mausklicks macht zu bestimmten Koordinaten.
Hat jemand eine Idee wie man sowas hinkriegt?

Vlt hilft dir das weiter, der Autor (macht auch Adds für ICQ!):
http://www.murb.com/index.php?page_id=235

SleiZer
01.02.2010, 15:13
Oh mein Programm Fenster ist 6686 Pixel breit.
Also entweder versteht hier keiner das Problem oder jeder gibt ein
Stichwort von mir ein bei google und stellt den Link hier rein.

Also nochmal von vorne...

ICH möchte ein Programm schreiben (und kein bestehendes benutzen),
welches MAUSKLICKS macht in einem FENSTER (zb. WarCraft 3 oder Internet Explorer ...).

Für die Mausklicks habe ich bereits eine Lösung, danke an dieser Stelle...

Nun brauch ich nur noch die Größe von dem Fenster, damit ich die Mausklicks abhängig von der Größe des Fensters mache. Dabei möchte ich NICHTS SELBER EINGEBEN, weder wo die Klicks hin sollen noch wie groß das Fenster ist. Dabei muss man auch beachten, dass zb. WarCraft 3 auch im FULLSCREEN Modus gespielt wird(in der Regel) und es auch möglich ist die Desktop Größe kleiner bzw. größer als die Auflösung im Programm/Spiel zuwählen.

blackberry
01.02.2010, 20:10
http://www.google.de/search?q=aufl%F6sung+c%2B%2B
so blacky jetz mach zu hier

Word!

Ich denke es wurde hier bereits ausdrücklich darauf hingewiesen, dass man die Fensterbereite und Höhe durch das Bilden der Differenz von bottom/top und right/left berechnen kann.
Wenn das nicht einleuchtend sein sollte können wir leider auch nicht helfen.


/closed