Tastaturanschlag

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

hi,
Ich wollte mal fragen wie der Befehl geht bzw. das Modul lautet mitdem ich einen Tastenanschlag machen kann also zb. will ich, dass Python für mich die 1 drückt wenn etwas bestimmtes passiert.
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@zar1
In welcher Umgebung soll er "die 1 drücken"? Innerhalb eines GUI oder im Terminal?

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

hi mutetella,
innerhalb eines GUI
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@zar1
Dann hängt das IMHO von der GUI ab, welche Möglichkeiten zur Simulation eines Tastendrucks darin vorhanden sind. Oder Du sprichst direkt den X Server an, falls Du Linux verwendest. Einen kleinen Überblick kannst Du Dir ja einmal hier verschaffen.

Ich frage mich allerdings, weshalb Du das machen möchtest? Wenn Du eine bestimmte Funktion, die z. B. nach dem Drücken der '1' stattfindet, ausführen möchtest, dann führe diese Funktion doch direkt aus. Mehr Infos zu Deinem Problem und wie Du das lösen möchtest wären hilfreich...

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
BlackJack

@mutetella: Ich denke mal es geht immer noch darum bei Spielen zu cheaten beziehungsweise in diesem Fall klingt „automatisieren” vielleicht besser. ;-)

@zar1: Du suchst vielleicht so etwas wie pywinauto.
TrayserCassa
User
Beiträge: 97
Registriert: Donnerstag 2. Mai 2013, 19:11

Wo ich noch eine möglickeit drin sehe ist unter Windows die ``runas`` Funktion. Wenn man als Admin etwas ausführen möchte, muss man sein Passwort eingeben oder die des Administrator acc. Ist aber in einer Console und nicht in einer GUI ;)
echo "Passwort" | runas /user=Adminstrator


Funktioniert leider nicht :D

Falls ich aber via Python Tastaturen anschläge simulieren kann, dann währe mein Trojaner (hust) fertig :mrgreen:

mfg
Trayser
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@TrayserCassa: solltest Du soetwas versuchen, dann nimmst Du die CreateProcessWithLogon Funktion, die nimmt nämlich das Passwort als Parameter.
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

Also ich will in einem Multiplayer Spiel etwas machen, dass wenn meine Hp low ist automatisch die 1 gedrückt wird, wo eine Defensive fähigkeit gespeichert ist.

Ich hab mir das so überlegt, das ich die Pixel color bei der hälfte der Hp bar nehme und sobald sich die pixelcolor andem punkt verändert soll Python automatisch die eins drücken.
Eigentlich sollte das doch möglich sein zumal man zb. mit win32api.mouse_event(win32con.MOUSEEVENTF_LEFtDOWN,x,y,0,0) auch ganz einfach einen Mausanschlag simulieren kann warum dann nciht auch mit der Tastatur.
TrayserCassa
User
Beiträge: 97
Registriert: Donnerstag 2. Mai 2013, 19:11

@Sirius3
wusste garnicht das Python da was eigenes hat :D
Danke, auch wenn es nicht für ein Trojaner ist, sondern es in ein Luncher einfließt :)

back to Topic:

@zar1
Ich denke das ist auch einfach, den Tastaturschlag zu benutzen, nur musst du wie schon gesagt das auslesen lassen. Vielleicht mal gegebenfalls Googeln nach "Pixel auslesen Python".
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

Also wenn ich X3 zocke, dann übernimmt meine Kleine immer die Simulation der Tasten 1 - 4. Wenn ich im Eifer des Gefechts zwischen Energieplasmawerfer und Photonenimpulskanone wechseln möchte, muss ich nur "eins" oder "zwei" rufen und die Taste wird gedrückt. Funktioniert prächtig und versionsübergreifend... :mrgreen:

mutetella
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

ok habs jetzt mal ausgiebig gegooglet und habe das gefunden:
import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("a")

Ich denke damit müsste es funktionieren.
BlackJack

@mutetella: Das klingt nach Kinderarbeit. Ich bin schockiert! :D
mutetella
User
Beiträge: 1695
Registriert: Donnerstag 5. März 2009, 17:10
Kontaktdaten:

@BlackJack: Im Kampf gegen die Xenon muss jeder seine Opfer bringen... :wink:
Entspanne dich und wisse, dass es Zeit für alles gibt. (YogiTea Teebeutel Weisheit ;-) )
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

hmm also ich habe jetzt mal meine oben erwähnte methode an 2 games ausprobiert. In World of Warcraft hat diese Mehtode mit den shellkeys einwandfrei funktioniert.
In League of Legends leider nciht dabei bräcuthe ich es für League of legends.Wenn jemand eine Idee hätte für League of Legends wäre ich sehr dankbar.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nun, wenn du andere betruegen willst, hoffe ich dass du hier keine Hilfe oder Ideen findest.

Als Fingeruebung ist das ja ganz nett, aber dich scheint ja vor allem der Einsatz zu interessieren.

@BlackJack: Dich schockiert die Kinderarbeit? Dabei klingt das doch viel mehr nach Kindersoldaten :mrgreen:
zar1
User
Beiträge: 39
Registriert: Samstag 28. Dezember 2013, 01:08

Ich will nciht andere betrügen mich interessiert ob sowas geht weil ich bisjetzt nichts brauchbares gefunden habe außer das was ich gepostet habe und das funktioniert nicht überall.
Antworten