Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi ^^

Ich habe ma wieder ein Problem in C#.

Es ist folgendes:

Ich will das die Maus an eine bestimmte Position kommt und dort 1mal die Schaltfläche anklickt.

Also die Maus an verschiedene Punkte zu bekommen ist einfach.

Point startingPoint = panel1.Location;

            startingPoint.Offset(500, 200);

            Cursor.Position = PointToScreen(startingPoint);

Aber wie kann ich jetzt den Maus klick simulieren ?

Habe es bereits versucht mit:

- SendKeys.Send ( anscheinend gehört die Maus nicht dazu .. )

Habe bereits in Google nachgeschaut und da stande was von Sachen einbinden. Ist das wirklich so das man mit C# keinen einfachen Mausklick simulieren kann ?

Wenn man wirklich keinen Maus klick mit c# machen kann, dann müsste ich es wohl mit c++ über dll einbinden, aber bevor ich das mache wollte ich nochma fragen ob das wirklich so ist.

Danke für eure Hilfe!

Ich habe es so verstanden, dass er z.B. auf einer I-Netseite einen bestimmten Button klicken will...

Sowas wie ein Bot für Browsergames oder MMOs (WoW Fishingbot z.B. wobei diese dann natürlich noch etwas anspruchsvoller sind ;) ) xD

Hey !

@TDM

Bei mir kommt leider eine Fehlermeldung bei:

How to: simulate a mouse click

Die Fehlermeldug lautet:

PInvokeStackImbalance wurde erkannt.

Nachricht:

- anscheinend wurde das gleichgewicht vom Stapel gestört.

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

@ nubbeldupp

So ählich hatte ich es vor. Ich wollte zwar kein Bot schreiben aber ich hatte vor mich über ein Programm automatisch einzuloggen.

Bisher hatte ich das über tasten gemacht doch die mus sich jeden Tag ändern, weil sich die werbung auch ändert ... und das nervt und deswegen wollte ich das jetzt über Pixel und einem Mausklick steuern.

Kannst du mir ein Weg sagen, wie ich das machen kann ? einen Mausklick zu simulieren ?

Auf das Webfenster hab ich schon zugegriffen ... es fehlt nur noch der blöde Mausklick xD

Danke für eure Hilfe!

Die Fehlermeldug lautet:

PInvokeStackImbalance wurde erkannt.

Nachricht:

- anscheinend wurde das gleichgewicht vom Stapel gestört.

mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
Mach mal nen Zweizeiler draus:
mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);

mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

@ nubbeldupp

So ählich hatte ich es vor. Ich wollte zwar kein Bot schreiben aber ich hatte vor mich über ein Programm automatisch einzuloggen.

Bisher hatte ich das über tasten gemacht doch die mus sich jeden Tag ändern, weil sich die werbung auch ändert ... und das nervt und deswegen wollte ich das jetzt über Pixel und einem Mausklick steuern.

Wäre da VBS nicht sinnvoller?

Zumal: Muss es denn die Maus sein? Man kann doch auch ein Enter schicken.

@TDM

Leider funktionierts immer noch net ...

Es kommt immer noch die selbe fehlerfunktion.

In VBS ?

Weiß nicht kenne mich in VB nicht so aus xD

Und ein Einter klick würde mir nix nützen ^^

Könnte ich das so machen, dann ich z.b die Taste x als ein Mausklick umstelle ?

Denn in verschiedenen Games kann man das auch umstellen ...

Würde das was nützen ?

Danke

Hi ^^

Sry kann jetzt erst wieder zurück schreiben.

Ok ich stelle jetzt am besten ma den gesamten Codeausschnitt rein ...

Einmal was ich alles benutze:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices;
mausklick:
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

        public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);


        private const int MOUSEEVENTF_LEFTDOWN = 0x02;

        private const int MOUSEEVENTF_LEFTUP = 0x04;

        private const int MOUSEEVENTF_RIGHTDOWN = 0x08;

        private const int MOUSEEVENTF_RIGHTUP = 0x10;


        public void DoMouseClick()

        {

            //Call the imported function with the cursor's current position

            int X = Cursor.Position.X;

            int Y = Cursor.Position.Y;

            mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0);

            mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

        }
Aufruf:
 private void anfangen_Click(object sender, EventArgs e)

        {

            Point startingPoint = panel1.Location;

            startingPoint.Offset(500, 200);

            Cursor.Position = PointToScreen(startingPoint);

            DoMouseClick();

            SendKeys.Send("{RIGHT}");

        }

Ich hoffe das es kein einfacher Tippfehler ist, denn das wär bissel doof ^^

Vielen Dank für eure Hilfe!

Bin leider noch ein Anfänger in C#

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.