hallo
kann mir jemand sagen wie man den cursor bewegen und klicks simulieren kann
also nicht im formular sondern auf system ebene
mit welchen dll's geht das???
kann ich auch die tastatur auf system-ebene abfragen und tasten-drücke simulieren
danke
PS: ich brauch das für n prog mit dem man mir dem joystick die maus ähh quatsch den cursor steuern kann und ich wollte dasnn auf die cursortasten irgendwelche maus-tasten und/oder tasten-kombinationen (z.B. Strg+Alt+Entf) legen.
zum abfangen musst du einen systemweiten hook setzen. siehe codeproject.com für entsprechende beispiele
ähhhhhh
das hilft mir so gerade garnicht weiter X( X( 8o
ich hab mal bei codeproject.com nach hook gesuch konnte damit aber eigentlich nichts anfangen ⚠
gibt es nicht irgend eine funktion in irgendner win dll (rundll32, user32 usw..) :rtfm:
danke für antworten 👍 👍
Hallo janismac,
Stichwort ist und bleibt gloabal hook. Wenn nicht bei codeprojectt, dann bei google oder bei weiteren Suchmöglichkeiten.
herbivore
Original von Friedel
Hallo janismac,ein besseres
> wirst du kaum finden 🙂Gruss
Friedel
das Beispiel ist nicht schlecht, jedoch würde ich meinen es bewirkt genau das gegenteil von dem gewünschten effekt. es speichert ja ab was man getppt hat, also sit es eigentlich ein keylogger.
hast du nicht vielleicht noch nen code um z.b. die mausposition auf 10;50 zu stellen?
mfG b3nJ
zum setzen des cursors reicht:
Cursor.Position = new Point(10, 50);
hm, ich habs immer mit mouseposition versucht...
wofür gibts eigentlich cursor.position und mouseposition, mouseposition ist da ja irgendweie überflüssig oder irre ich mich?!?
mfg b3nJ
danke Friedel das ist schon mal ein teil davon
wegen mouse- bzw. cursor.pos setzten
das funktioniert doch nur so lange das formular aktiviert ist
ich hab mal nach "global hook" gegooglet aber immer noch nichts (mir) hilfreiches
gefunden....
wenn da jmd. n gutes (möglichst deutsches) turtorial kennt, bitte posten!!! 👍
kann mir jemand sagen wie man den cursor bewegen und klicks simulieren kann
also nicht im formular sondern auf system ebene
@Janismac: Das kommt darauf an, was du machen willst...
Wenn Du einfach nur ein bestimmtes Control klicken lassen willst, von dem du schon das Fensterhandle ermittelt hast (normalerweise vom Typ IntPtr) dann reicht eine SendMessage mit WM_CLICK.
Wenn Du aber den Mauszeiger automatisch positionieren lassen willst,
würde ich solche Funktionen wie ClientToScreen, SetCursorPos und
und z.B. MouseEvent benutzen, alle Deklarationen sind auf www.pinvoke.net nachschlagbar.
mit welchen dll's geht das???
Normalerweise benutzt man da meist apis aus user32.dll.
kann ich auch die tastatur auf system-ebene abfragen und tasten-drücke simulieren
Ja, auch das geht.
Stichwort: GetAsyncKeystate
Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.
hallo
@dr4g0n76
pinvoke.net is ja ne super seite !!!
danke
mit folgendem (simplen) code kann man den cursor jetzt bewegen
public partial class Form1 : Form
{
[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);
[DllImport("user32.dll")]
static extern bool GetCursorPos(out Point lpPoint);
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
bool x;
Point p = new Point();
x = GetCursorPos(out p);
if (e.KeyValue == 37)
x = SetCursorPos(p.X - 10, p.Y);
else if (e.KeyValue == 38)
x = SetCursorPos(p.X, p.Y - 10);
else if (e.KeyValue == 39)
x = SetCursorPos(p.X + 10, p.Y);
else if (e.KeyValue == 40)
x = SetCursorPos(p.X, p.Y + 10);
}
}
aber eine funktion zum emulieren eines klicks hab ich noch nicht gefunden X(
wenn ihr eine kennt sagt es mir
MfG janismac
EDIT:
habs jez doch gefunden "mouse_event" und "keybd_event"
noch eine letzte sache dann ist das programm fertig
weiß jmd wie man mit directinput auf den joystick zugreifen kann???
dazu gibt es ein beispiel in VB
das verstehe ich aber so gut wie chinesisch
danke für antworten