Peter6188: Mausklick auf Bestellung?

Hallo,

kann man mit C++ oder Java einen Mausklick an der Cursorposition herbeiführen? Ich möchte nicht das etwas passiert wenn man Klickt sondern das, dass Programm für mich klickt. Ich habe schon im Archiv und bei Google gesucht aber nichts passendes gefunden. Wenn es geht könnt ihr mir Posten wie?

Danke und

Tschüss
Peter

  1. Hello,

    kann man mit C++ oder Java einen Mausklick an der Cursorposition herbeiführen? Ich möchte nicht das etwas passiert wenn man Klickt sondern das, dass Programm für mich klickt. Ich habe schon im Archiv und bei Google gesucht aber nichts passendes gefunden. Wenn es geht könnt ihr mir Posten wie?

    Mit C++ kan man den bestimmt emulieren.
    Die Maus löst bei WinDOS-basierten Systemen i.d.R. einen INT 33h aus. Den kannst Du natürlich auch durch das Programm aufrufen. Allerdings sind dann die Register noch nicht wunschgemäß geladen.

    Es gibt aber auch Bewegungsfunktionen für den Mauscursor. Wenn Du die vorher benutzt und den Cursor so positionierst, müsste das klappen.

    Beim guten alten DOS konnte man den Mauscursor noch mit ein paar Zeilen Code auch in der DOS-Konsole einschalten. Das hat die Leute immer irritiert und ich habe so manches Hefeweizen damit erwettet.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hallo,
      es geht darum ich bekomme eine Menge Meldungen auf meinen Desktop nun möchte ich die nicht alle Manuell schließen, sondern einmal den Mauszeiger hin, Programm gestartet und eine for-Schleife hundertmal ausführen. Ich hoffe ich hab mein Problem noch etwas verständlicher gemacht. Ich bin noch nicht so gut im Programmieren könntest du deine Lösung noch etwas ausführlicher beschreiben?
      Vielen Dank

      Tschüss
      Peter

      1. Hello,

        es geht darum ich bekomme eine Menge Meldungen auf meinen Desktop nun möchte ich die nicht alle Manuell schließen, sondern einmal den Mauszeiger hin, Programm gestartet und eine for-Schleife hundertmal ausführen. Ich hoffe ich hab mein Problem noch etwas verständlicher gemacht. Ich bin noch nicht so gut im Programmieren könntest du deine Lösung noch etwas ausführlicher beschreiben?

        Das erscheint mir aber der falsche Weg zu sein.
        Die Meldungs-Fenster stehen doch irgendwo in der Message-Queue von Windows und warten auf ein Zeichen. Das brauchst Du doch über ein Progrämmchen nur zu senden, und schon wird das Programm beendet.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hallo,

          nein so einfach ist es leider nicht. Ich hab das Programm selbst geschrieben. Nun kommen an einer bestimmten Stelle (gewollt) ziemlich viele Info-Meldungen und um zu sehen wie das Programm weiter arbeitet muss ich die Info-Meldungen "wegklicken". Gibt es keine Methode/Funktion in einer API die einen Klick ausführt?
          Vielen Dank für deine Mühe ich muss nerven *g*

          Tschüss
          Peter

    2. Hallo,

      ich hab noch mal ein bisschen weiter gesucht und was gefunden. In Java gibt es die Klasse java.awt.Robot http://java.sun.com/j2se/1.4.2/docs/api/index.html. In dieser Klasse gibt es Methoden die einen Mausklick ermöglichen sollten.
      Vielen Dank für deine Mühen.

      Tschüss
      Peter

      1. ich hab noch mal ein bisschen weiter gesucht und was gefunden. In Java gibt es die Klasse java.awt.Robot http://java.sun.com/j2se/1.4.2/docs/api/index.html. In dieser Klasse gibt es Methoden die einen Mausklick ermöglichen sollten.

        Das klingt mir nach einem etwas schrägen Konzept, schau mal was in de Beschreibung steht:
        This class is used to generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations.

        D.h. du brauchst das eigentlich nur, wenn du etwas vorführen willst oder eine Anwendung testen möchtest.

        Ich bin nicht so bewandert in C++ oder Java, aber ich glaube nicht, dass du einen Event simulieren musst, wenn du deine eigenen Fenster schliessen willst.

        Irgendwo in deinem Programm ist doch irgendwo der Aufruf was passiert, wenn ein klick auf einem Element erfolgt, und genau das kannst du doch so an der von dir gewünschten Stelle einbauen.

        Struppi.

        1. Irgendwo in deinem Programm ist doch irgendwo der Aufruf was passiert, wenn ein klick auf einem Element erfolgt, und genau das kannst du doch so an der von dir gewünschten Stelle einbauen.

          Wenn er nicht ein fremdes Programm bedienen möchte...

        2. Hallo,
          ich will mit diesem "Hilfstool" ja das eigentliche Programm testen, indem ich die vom eigentlichen Programm erzeugten Info Messages mit diesem "Hilfstool" wieder schließen will. Mein Code mit dem das ganze jetzt auch sehr gut läuft sieht so aus:

          public void run() throws AWTException {
           Robot ro = new Robot();
           ro.mousePress(InputEvent.BUTTON1_MASK);
           ro.delay(1);
           ro.mouseRelease(InputEvent.BUTTON1_MASK);
          }

          Diese Methode lässt den Mauszeiger dorthin klicken wo der Cursor steht. Ist auch nicht _zu_schwierig_! Ob ich damit auch Wetten gewinnen kann? ;-)

          Tschüss
          Peter

          1. Hallo, Peter6188!

            google mal nach "AutoIt".

            freundl. Grüsse aus Berlin, Raik

  2. Hello,

    Noch ein Forums-Tipp: http://www.c-plusplus.de/cms/

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
  3. Hi,

    kann man mit C++ oder Java einen Mausklick an der Cursorposition herbeiführen? Ich möchte nicht das etwas passiert wenn man Klickt sondern das, dass Programm für mich klickt. Ich habe schon im Archiv und bei Google gesucht aber nichts passendes gefunden. Wenn es geht könnt ihr mir Posten wie?

    nur mal interessehalber: wofuer braucht man sowas?

    Gruss,
    Ludger

    1. Hallo,

      nur mal interessehalber: wofuer braucht man sowas?

      Weiter unten ab ich das schon mal erklärt. Wenn man ein bugfreies Programm möchte muss man es testen und ich teste es fast nach jedem neu hinzugekommenem Feature. Einmal klickt man alle Boxen weg ein zweites mal auch noch aber dan reichts einem. Da war es nahe liegend ein kleines Tool zuschreiben was diese Arbeit übernimmt.

      Tschüss
      Peter