Fragen zum Mausinput und anderen Sachen.

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.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Moin.

Ich will jetzt noch ein ganz nüchternen und langsamen Anlauf wagen. Die letzten Tagen habe ich mit diversen Screencasts mein Grundwissen etwas gefestigt. Und nun würde ich gerne etwas Praxis betreiben. Dazu habe ich mir folgendes gedacht, das ich schon lange realisieren wollte. Ich könnte es natürlich ohne großen Stress in AHK coden (denn das ist die Sprache die ich einigermaßen beherrsche), aber ich dachte ich tue es mir an und versuche das in Python zu realisieren und hoffentlich dabei was zu lernen. :wink:

Folgendes:

Es soll ein einfaches Ding, in der Art eines Screensavers werden.

Wenn nach einer bestimmten Zeit kein Input folgt (Key, Mouse), dann soll das Programm gestartet werden bzw. eine Aktion im Script gestartet.

Soweit wieder ein Input folgt, muss man ein definiertes Passwort eingeben um den Computer wieder "betreiben" zu können.

Grund ist eigentlich simple, mein PC ist meistens immer an, und ich will nicht, wenn ich nicht da bin das sich jemand anderes daran zu schaffen macht. Ah ja falls man das Programm in Shell (Windows importieren kann, dann kann ja auf den Schritt eins verzichtet werden).

Was ich nun genau von euch brauche liebe Community ist ein genauer Ansatz. Ich weiß nicht wo ich anfangen soll (außer,das ich ne Gui baue).

Ich brauche einfahc nur paar Tipps wie und mit was ich das realisieren kann. Gibt es von Haus aus, die nötigen Befehle. Oder gibt es spezielle Librieries dafür. Ich weiß einfahc nicht WO ich anfangen soll.

MFG,
Mr.Wolna
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Ich denke, du solltest mit der Inaktivitätserkennung anfangen. Ich nehme an, dass du Windows benutzt. Schau dir doch dazu mal die Windows-API an (Stichwort Win32-API und PyWin32). Auf die Schnelle habe ich zum Beispiel http://timgolden.me.uk/python/win32_how ... ation.html gefunden.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

danke.

Ich will es aber von Anfang an GANZ simpel halten, heißt ich habe mich jetzt NUR für ein Py Script entschieden. Ohne Shell Implementierung, und arbeite jetzt an der Password Funktion die später in ne GUI eingebettet wird.

Erste Frage, hätte ich auch gleich. Wie macht ma, dass er nach der falschen Eingabe mir noch einmal die Chance gibt eine input zu vollziehen? While Schleife? Return? Return Slef als Funktion???

Code: Alles auswählen

passwort = "TEST"
eingabe = raw_input("Bitte Password eingeben:")

if eingabe == passwort:
    print "Richtig"
else:
    print "Falsch"

#while eingabe != passwort:
    #print "Falsch"

Gruß
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Code: Alles auswählen

def ask_for_password(password):
    while raw_input('Please enter your password') != password:
        print 'Wrong password, try again'
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Hm komisch.

Wieso klappt nicht die variable Methode? Siehe meine Ausklammerung? Direkt gehts, aber solange ich das raw input in ne variable stecke gibt er mir dauernd den print raus.


Gruß

edit:
naja egal, damit gehts!

Code: Alles auswählen

passwort = "TEST"

while raw_input("Bitte Password eingeben:") != passwort:
    print "Falsch"
else:
    print "Richtig"
Jetzt würde ich gerne die Aktionen setzen (GUI kommt zum Schluß):

Gibt es eine Möglichkeit alle input Geräte zu sperren? Also Maus und Tastatur.

MFG?
Zuletzt geändert von Mr.Wolna am Dienstag 2. März 2010, 21:34, insgesamt 1-mal geändert.
Benutzeravatar
DeKugelschieber
User
Beiträge: 82
Registriert: Sonntag 28. Februar 2010, 12:23
Kontaktdaten:

oder rekursion
MfG DeKugelschieber
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Mr.Wolna hat geschrieben:Wieso klappt nicht die variable Methode? Siehe meine Ausklammerung? Direkt gehts, aber solange ich das raw input in ne variable stecke gibt er mir dauernd den print raus.
Waswaswas? Was für einen "print"? Was steckst du wo hin?
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

DeKugelschieber hat geschrieben:oder rekursion
Das meinte ich ja mit
Return Slef als Funktion???
^^

edit: ist schon ok, das passt auch so ganz gut, muss a nicht in ner variable sein. ;)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Mr.Wolna hat geschrieben:Direkt gehts, aber solange ich das raw input in ne variable stecke gibt er mir dauernd den print raus.
Wenn du sowas wie

Code: Alles auswählen

a = raw_input("pw?")
while a != password:
    print "False"
else:
    print "Right"
meinst. Ist die Loesung ganz einfach. Wenn du es nicht siehst, frag dich mal, wo sich `a` aendert.
Benutzeravatar
DeKugelschieber
User
Beiträge: 82
Registriert: Sonntag 28. Februar 2010, 12:23
Kontaktdaten:

^^
MfG DeKugelschieber
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

jo, jetz seh ichs^^

nochmal zum input sperren? geht es wirklich nur mit dne win32 Modul? gibts alternativen? Geht das nicht direkt in python?

weil ich kriege das nur in Verbindung mit win32, weiß jemand Abhilfe?

http://www.google.de/#hl=de&ei=KnuNS5G2 ... 645cc215d6

MFG
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Ich hatte dir doch einen Link geschickt, da war das mit einem API-Call erledigt. Du musst doch die Maus und die Tastatur nicht manuell locken.

Wichtiger ist es, überhaupt erst mal *Inaktivität zu erkennen*.
Benutzeravatar
jbs
User
Beiträge: 953
Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam

Warum nimmst du nicht die Funktion aus Windows, wenn du es produktiv einsetzen möchtest?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Dauerbaustelle hat geschrieben:Ich hatte dir doch einen Link geschickt, da war das mit einem API-Call erledigt. Du musst doch die Maus und die Tastatur nicht manuell locken.

Wichtiger ist es, überhaupt erst mal *Inaktivität zu erkennen*.
(so you have to Ctrl-Alt-Del to continue using it).
Das ist das gleiche Problem wie bei AHK mit den Lock Input Befehl.
jbs hat geschrieben:Warum nimmst du nicht die Funktion aus Windows, wenn du es produktiv einsetzen möchtest?
Bitte nicht überfordern, ich bin noch neu^^ Was meist du damit? WIN API? Kann man den mit Python Windows direkt ansteuern?

Gruß
Benutzeravatar
DeKugelschieber
User
Beiträge: 82
Registriert: Sonntag 28. Februar 2010, 12:23
Kontaktdaten:

ob man windows direkt ansteuern kann weiß ich (noch) nicht, aber bestimmt. Und mit der Funktion aus Windows meint er das du die Windowssperre benutzen sollst (nehm ich mal an), also nicht die STRG+ALT+ENF, sondern ein aufruf von irgendwas und schon ist gesperrt (keine reaktion mehr auf eingaben usw.).
MfG DeKugelschieber
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Wie wäre es, wenn du mal unter den vorhin von mir genannten Stichwörtern googelst? PyWin32. Win32-API.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Das ist es ja, was ich die ganze Zeit frage. Geht es nur mit der WIN API?
Ich würde mir -falls möglich- die Plattforunabhängigkeit bewahren. ;(

(Übrigens ein weiterer Punkt, warum ich mich für Python als Entwicklungsumgebung entschieden habe)

MFG
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Solche Sachen gehen nur durch betriebssystemspezifische Funktionen. Plattformunabhängigkeit hat halt auch ihre Grenzen.
Mr.Wolna
User
Beiträge: 93
Registriert: Dienstag 6. Oktober 2009, 17:43

Jut, dann wäre es doch eine Alternative, einfach eine Fullscreen Applikation laufen zu lassen. Also wenn sie jemand versucht zu beenden dann geht das nur mit richtigen Passwort. Eben wie ein Bildschirmschoner.

Hm, ich muss mir das nochmal durch den Kopf lassen, wie ich das alles mache.
Villeicht eine DiaShow. Dafür brauche ich sicher auch externe Module oder?

MFG


edit: Hm, ich brauche aber trotzdem die winapi ,weil ich ja die Inaktivität/Aktivität der input Geräte irgendwie steuern muss. Oder geht es auch anders (programmunabhängig)?

MFG
Zuletzt geändert von Mr.Wolna am Mittwoch 3. März 2010, 00:00, insgesamt 1-mal geändert.
Pekh
User
Beiträge: 482
Registriert: Donnerstag 22. Mai 2008, 09:09

Ja, ein GUI-Toolkit. Aber wer würde den Benutzer daran hindern, diese Anwendung dann einfach wegzutabben?
Antworten