![]() |
[Python] Maus bewegen und Tastatureingaben simulieren
Hi Forum!
Vorweg: Ich habe Grundkenntnisse in c++ und vb, habe mit python und java angefangen. ich habe gehört dass es Programme gibt die man startet und die dann zum Beispiel Mauszeiger bewegen und klicken oder Tastatureingaben simulieren könnten als säße man selbst vorm PC. Ich wollte mal fragen ob irgendjemand weiß in welcher Sprache oder mit welchem tool diese Progs erstellt worden sind. Danke! |
mit C++ und WinAPI könnte man das realisieren.
Funktionen: mouse_event() keybd_event() |
fäät, ich werds mal googlen. Funktioniert das auch unter linux mit der entsprechenden IDE (benutze zurzeit anjuta)?
Danke schonmal! |
Nein unter Linux musst du andere Funktionen nehmen. Aber frag mich nicht welche.
|
Geht das evtl. auch mit python?
|
also der folgende code ist von einer freundin scheint aber richtig zu sein ;) (was python angeht bin ich nicht so der überflieger :P )
Der nun folgende Code wurde nicht vom User Celion(Cytosin) programmiert, getestet oder unterstützt. Der obengenannte User haftet nicht für Schäden, welche durch Benutzung dieses Codes passieren könnten. Ob dieser Code funktioniert bzw. ob dieser Code Fehler enthält ist dem User Celion(Cytosin) aufgrund mangelndem Wissen in der Programmiersprache Python unbekannt. -------------------8>------------------------ import sys def set_cursor_pos(x, y): if sys.platform == 'win32': from ctypes import windll windll.user32.SetCursorPos(x, y) elif sys.platform == 'linux-i386': from ctypes import cdll dll = cdll.LoadLibrary('libX11.so') d = dll.XOpenDisplay(None) root = dll.XDefaultRootWindow(d) dll.XWarpPointer(d,None,root,0,0,0,0,x,y) dll.XCloseDisplay(d) -------------------<8------------------------ |
Danke, aber leider fehlt die Formatierung und die Einrückungen sodass ich nicht weiß welche Zeile zu welcher Schleife gehört:confused:
Find ich aber gut dass erst geprüft wird welches System vorhanden ist! Btw: Zitat:
|
Maus Zeiger zieht Kreise
Vielen Dank fuer den Python- Schnipsel. Hat mir wirklich sehr geholfen. Ich habe ein kleines Skript
geschrieben, das aller 10 Sekunde den Maus- Zeiger kreisen laesst. So kann ich meine citrix session offen halten :) """ Hier mein Beispiel. Laeuft auf Linux. Weil die Formatierung verloren geht, habe ich "TAB" eingetragen. Also bitte im Editor "TAB" durch Tabulator ersetzen. """ import os import re, string import sys import math import time from ctypes import cdll def moveMouse( x, y): TAB""" TABThis procedure is used to move the mouse curser. TAB""" TABdll = cdll.LoadLibrary('libX11.so') TABd = dll.XOpenDisplay(None) TABroot = dll.XDefaultRootWindow(d) TABdll.XWarpPointer(d,None,root,0,0,0,0,x,y) TABdll.XCloseDisplay(d) TABreturn(0) def drawCircle( centerX, centerY, radius): TAB""" TABThis procedure moves the mouse pointer in a circle shape TAB""" TABfor angle in range( 0, 360): TABTABgrad = angle * math.pi / 180.0 TABTABx = math.cos( grad) * radius + radius + centerX TABTABy = math.sin( grad) * radius + radius + centerY TABTABmoveMouse( int(x), int(y)) TABreturn( 0) try: TABwhile True: TABTABdrawCircle( 500, 500, 200) TABTABtime.sleep(10) except IOError: TABprint "Could not move the mouse cursor" |
Cool das du das Thema nochmal ausgräbst!
Habe den Code mal eingetippt, bei der Print anweisung klammern gesetzt da ich die 3er version von python benutze und gestartet, leider Schmeisst er mir alerhand Fehlermeldungen um die Ohren: Code:
Traceback (most recent call last): mfg, Mint Btw: Code-Blöcke erhalten Formatierung!:T |
@OnTheRocks, es wäre ja zu einfach gewesen den Code Tag zu verwenden...
|
Hallo Mint,
wie ich schon geschrieben habe, läuft der Code bei mir auf Linux. Wenn Du den auf Windows laufen lässt, befürchte ich Probleme. Windows hat doch keine X11-Library. Die lade ich aber mit dem Befehl: dll = cdll.LoadLibrary('libX11.so') Und das wird wohl auch der Fehler bedeuten: Das angegebene Modul wurde nicht gefunden @gosha16, Du hast völlig Recht. Ich bin eben noch in der Lernphase :) Viele Grüsse und schönes Wochenende. |
Ou, hab ich Blindfisch übersehn....
Werd's dann mal auf meinem Ubuntu ausprobieren, vielleicht läufts da! Hat jemand trotzdem ne Idee wie ich das skript auf Windows zum laufen kriege, unter Verwendung ähnlicher Bibliotheken oder so? mfg, Mint. |
DAS Skript wirst Du unter Windows nicht zum Laufen bekommen.
Du benötigst eine andere Bibliothek für Windows und die wird andere Methoden und andere Argumente benötigen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:21 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.