WinFuture-Forum.de: Problem In C++ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Problem In C++


#1 Mitglied ist offline   Patti741852963 

  • Gruppe: aktive Mitglieder
  • Beiträge: 306
  • Beigetreten: 21. Juni 06
  • Reputation: 0

  geschrieben 20. Juni 2009 - 13:27

Guten Tag,

Ich habe folgendes Problem:

Ich will ein Program schreiben, welches auf ff oder ie aufsetzt und automatisch eine Eingabemaske ausfüllen lassen kann und danach mit einem "enter" zu bestätigen.

Wie mache ich das am besten?

Viele Grüße

Patrick

P.S. Bin grad auf AutoIT gestoßen... Bin ich damit besser beraten?

Dieser Beitrag wurde von Patti741852963 bearbeitet: 20. Juni 2009 - 17:21

...
0

Anzeige



#2 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 00:37

Das ist gerade die genauste Problembeschreibung, die du da lieferst...
Willst du eine Browser-Erweiterung? Ich kann dir da leider nicht direkt weiterhelfen, aber eine Schnittstelle für AutoIt wirst du wohl kaum finden.
Oder willst du ein Webformular automatisch ausfüllen lassen? Dann ist JavaScript deine Wahl.
0

#3 Mitglied ist offline   Patti741852963 

  • Gruppe: aktive Mitglieder
  • Beiträge: 306
  • Beigetreten: 21. Juni 06
  • Reputation: 0

geschrieben 21. Juni 2009 - 00:51

Ich verlinke hir mal auf folgendes.

Ich hab mich mal in AutoIT versucht. Ja, es ist zum ausfüllen eines Webformulars. Mir ist auch klar das die umsetzung mit der MouseClick funktion seeeehr schlecht ist. Funktionirt nur mit meiner Auflösung... Allerding brauch ich nur n schnelles "einmal benutz und wegwerf scribt"

Obwohl mich AutoIT echt begestert... hätte ich nicht gedacht.
...
0

#4 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 00:59

Zeig doch mal die Website, auf die sich das bezieht.
0

#5 Mitglied ist offline   Patti741852963 

  • Gruppe: aktive Mitglieder
  • Beiträge: 306
  • Beigetreten: 21. Juni 06
  • Reputation: 0

geschrieben 21. Juni 2009 - 01:22

Eingefügtes Bild

Eingefügtes Bild

Eingefügtes Bild
...
0

#6 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 16:20

Du bist schon witzig :P Was für Screenshots...

Ich dachte, man könnte das über Greasemonkey abwickeln. Bei einem Blick auf das HTML, muss ich sagen, dass es schwer wird, die Top5 der Spieler rauszufiltern, weil die Tabellen keine Namen/IDs besitzen. Damit wird es schwer, einen Einstiegspunkt zu finden.

Wenn das sowieso nur quick&dirty und nur auf deinem Rechner funktionieren soll, würd ich dir auch zu AutoIt raten. Die MouseClick-Funktion ist wirklich nicht schwer zu benutzen, wie du schon selber festgestellt hast.

Ich hab da noch kleines Tool, das die Mauskoordinaten in eine Logdatei schreibt. (Dabei sind allerdings auch die Mausklicks drin, die du machst, um das Programm zu beenden. Also darfst du die entsprechenden letzten Zeilen nicht beachten.) Denke, dass das die Koordinatenfindung vllt. ein wenig beschleunigt.

Source-Code gibts natürlich auch dazu, damit andere das als unschädlich verifizieren können ;)
#include <stdio.h>
 #include <stdlib.h>
 #include <windows.h>
 #include <windowsx.h>
 
 static POINT cursorPos;
 static FILE *output;
 
 LRESULT CALLBACK handleMouseClicks(int code, WPARAM wParam, LPARAM lParam) {
	 if(code == HC_ACTION)
		 switch(wParam) {
			 case WM_LBUTTONDOWN: GetCursorPos(&cursorPos); fprintf(output, "L,%ld,%ld\n", cursorPos.x, cursorPos.y); break;
			 case WM_RBUTTONDOWN: GetCursorPos(&cursorPos); fprintf(output, "R,%ld,%ld\n", cursorPos.x, cursorPos.y); break;
		 }
	 return CallNextHookEx(NULL, code, wParam, lParam); // proceed with hook chain
 }
 
 int WINAPI WinMain (
	 HINSTANCE hInstance,
	 HINSTANCE hPrevInstance,
	 LPSTR lpCmdLine,
	 int nCmdShow
 ) {
	 FreeConsole();
	 output = fopen("mouse.log", "w");
	 HHOOK myHook = SetWindowsHookEx(WH_MOUSE_LL, handleMouseClicks, hInstance, 0);
 
	 MessageBox(NULL, "Mouse hook installed. Click 'OK' to unhook and exit.", "Mouse Hook", MB_OK);
 
	 UnhookWindowsHookEx(myHook);
	 exit(EXIT_SUCCESS); // calls fclose() and thereby fflush()
 }

Dieser Beitrag wurde von Der Kenner bearbeitet: 21. Juni 2009 - 16:25

0

#7 Mitglied ist offline   deezee 

  • Gruppe: aktive Mitglieder
  • Beiträge: 119
  • Beigetreten: 05. Februar 09
  • Reputation: 0

geschrieben 21. Juni 2009 - 16:31

noch nen schneller einwurf von mir

nehm imacros =)
klick mich hart

und pass bloß auf das dass nicht in spamming ausartet :P
0

#8 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 21. Juni 2009 - 16:59

Tausend Dank! Das sieht sehr brauchbar aus.
0

#9 Mitglied ist offline   Patti741852963 

  • Gruppe: aktive Mitglieder
  • Beiträge: 306
  • Beigetreten: 21. Juni 06
  • Reputation: 0

geschrieben 21. Juni 2009 - 17:18

Vielen Dank ihr seid der Knaller!

Also imacros werd ich auf jedenfall drauflasse, kann schon sehr nützlich sein. Allerdings läßt sich damit keine Endlosschleife erstellen. (Glaube Ich)

An das von Der Kenner mach ich mich jetztz mal ran.


Ich habs jetzt nochmal gemacht:

Sleep(5000)

AutoItSetOption("MouseCoordMode", 0)


MouseClick("left", 400, 333, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 353, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 373, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 393, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 413, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 433, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 453, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 473, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 493, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 513, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 533, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 553, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 573, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 593, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 613, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 633, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 653, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 673, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 693, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 400, 713, 0)
Sleep(1100)
MouseClick("left", 260, 285, 0)
MouseClick("left", 680, 460, 2)
MouseClick("left", 15, 35, 2)

MouseClick("left", 700, 735, 0)
Sleep(1200)


Allerdings habe ich folgendes Problem. Wenn ich es Ausführe führ er nur die klicks;
MouseClick("left", 15, 35, 2) und
MouseClick("left", 680, 460, 2)
aus. Warum?

Dieser Beitrag wurde von Patti741852963 bearbeitet: 21. Juni 2009 - 17:51

...
0

#10 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 23. Juni 2009 - 16:05

Vielleicht zwischendrin noch ein bisschen warten?
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0