2009-05-27 10 views
0

Wir alle wissen, dass Windows die Funktion hat, dass Sie mit der rechten Maustaste auf eine Datei klicken können und zahlreiche Optionen angezeigt werden. Nun können Sie diesem Menü einen Wert hinzufügen. Ich folgte dieser Anleitung: jfitz.com/tips/rclick_custom.htmlPython-Skript in Windows-Registry eingebettet

Grundsätzlich habe ich ein Skript, das ausgeführt wird, wenn ich mit der rechten Maustaste auf einen bestimmten Dateityp klicke. In Ordnung, also läuft alles fehlerfrei, aber wenn ich fertig bin und versuche, es zu testen, sagt Windows mir, dass es nur .exe akzeptiert.

Ist ihr ein Weg um dies ohne py2exe oder etwas ähnliches zu verwenden?

** EDIT Ok, also, wenn mein Skript das erste Argument als Parameter nimmt, wie würde ich das in die Registrierung setzen?

"C: \ Python26 \ pythonw.exe C: \ Benutzer \ daved \ Dokumente \ Python \ backup.py"% 1 "" ?

Antwort

2

ja, pythonw.exe aufrufen und den Skriptpfad als Parameter

"C:\Python26\pythonw.exe" "C:\Users\daved\Documents\Python\backup.py" "%1" 

Es wird auch empfohlen (aber nicht erforderlich) passieren die Erweiterung .pyw, wenn das Skript in einer Konsole läuft nicht zu verwenden.

+0

Während ich dies auf meinem eigenen Rechner machte, experimentierte ich einfach mit python.exe "C: \ testFolder \ test.py" "% 1" - und es funktionierte perfekt (obwohl es auf einer Konsole auftauchte) Fenster natürlich). Dann habe ich mein Skript in * .pyw umbenannt und die Registrierung in --pythonw.exe "C: \ testFolder \ test.pyw" "% 1" geändert. Aus irgendeinem seltsamen Grund führte dies dazu, dass Windows ein Dialogfeld für fehlende Dateiverknüpfungen öffnete, das "Log.txt" (meine Testdatei) als das ohne Verknüpfung bezeichnete. Kann das überhaupt nicht herausfinden! Wie auch immer, als ich in Anführungszeichen zu der vollqualifizierten pythonw.exe wechselte, funktionierte es wieder perfekt. – JDM