Script in Autostart ziehen

Code-Stücke können hier veröffentlicht werden.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Um mal wieder zum Thema zu kommen:
Warum trägst du dein Programm nicht einfach in die Registry ein unter

Code: Alles auswählen

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Warum verwendest du nicht einfach mein autostart Modul dazu? Funktioniert unter Windows und Linux (nach freedesktop.org "Desktop Application Autostart Specification") und ist etwas weniger abenteuerlich als dein Ansatz. ;)

...vielleicht sollte ich das Modul ja mal richtig veröffentlichen.

Jonas
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

@veers
kannst du bitte mal grob beschreiben, wie du in deinem Modul vorgehst.
Bin auch gerade dabei, einen Autostart für mein Programm zu entwickeln. Deine Seite ist leider blockiert bei mir im Geschäft (reason: uncategorized...).[/quote]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ice2k3 hat geschrieben:Bin auch gerade dabei, einen Autostart für mein Programm zu entwickeln. Deine Seite ist leider blockiert bei mir im Geschäft (reason: uncategorized...).
Vielleicht geht ja der Mirror besser?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Hat funktioniert, Danke.

Braucht man für den Linux-Teil spezielle Voraussetzungen?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ice2k3 hat geschrieben:Braucht man für den Linux-Teil spezielle Voraussetzungen?
Nein, da ist schon alles nötige implementiert.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Die Dateien im Autostart werden immer im Ordner C:\Dokumente und Einstellungen\%USER% ausgeführt.
Gibt es einen Trick um das zu verhindern?

Oder muss ich dann manuell in meinem Programm das cwd ändern?
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Keine Ahnung. Aber meiner Meinung nach sollte ein Programm nicht von der CWD abhängig sein. :wink:
[url=http://29a.ch/]My Website - 29a.ch[/url]
"If privacy is outlawed, only outlaws will have privacy." - Phil Zimmermann
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Wie soll man es sonst machen mit Ressourcen wie Bildern etc.??
lunar

ice2k3 hat geschrieben:Wie soll man es sonst machen mit Ressourcen wie Bildern etc.??
Als Paketdaten mitliefern. Entweder mit setuptools und pkg_resources, oder manuell über distutils und __file__ auf Paketebene.
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

DasIch hat geschrieben:
INFACT hat geschrieben:Ausserdem gibt es glaube ich nur auf Windows eine Autostart :wink:
Falsch geglaubt.
Okey dann nicht :?
aber mann kann ja nach "Autostart" suchen und dann in jedes ergebnis einmal einen Link ziehen
INFACT
User
Beiträge: 385
Registriert: Freitag 5. Dezember 2008, 16:08

@veers:

Code: Alles auswählen

def add(name, application)
ich weiß nicht ob ich das richtig verstehe, => name ist der name, wie z.B. "namederdatei.test" und application ist der Pfad und name der Datei (oder ist das ein link), die darein gezogen wird? :?: :(

Danke!

MfG Robin
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

INFACT hat geschrieben:...nach "Autostart" suchen und dann...
"Autostart" ist uebrigens Deutsch!
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

lunar hat geschrieben:
ice2k3 hat geschrieben:Wie soll man es sonst machen mit Ressourcen wie Bildern etc.??
Als Paketdaten mitliefern. Entweder mit setuptools und pkg_resources, oder manuell über distutils und __file__ auf Paketebene.
Und wenn ich das Programm mit py2exe für Windows kompilier?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Dann kommst du an den Dateinamen mit sys.argv[0] ran.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Und dann mach ich:

Code: Alles auswählen

import sys, os
filename = "script.py"
folder = sys.argv[0].rstrip(filename)
os.chdir(folder)
Und das soll dann ein gute Lösung sein?! Ist für mich ein Notfall-Hack, aber keine schöne Lösung meiner Meinung nach.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Code: Alles auswählen

import os, sys
folder = os.path.dirname(os.path.abspath(sys.argv[0]))
Ist mir ehrlich gesagt weit lieber ;)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

ice2k3 hat geschrieben:Und das soll dann ein gute Lösung sein?!
Ne, aber von so einer Lösung hat auch niemand gesprochen. Keine Ahnung wie du nun auf sowas kommst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Das war ja nur auf die Schnelle.
Ich meinte das halt allgemein. Ist das so gängig, aus sys.argv den Ordner zu lesen und diesen dann als "Working-Dir" zu setzen?
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Du musst ja nicht unbedingt das working Directory wechseln, sondern kannst per `os.path.join(folder, fname)' dann an die eigentlichen Dateien kommen.
Wenn du keine GUI-Applikation hast, solltest du den Verzeichniswechsel unterlassen, denn der Benutzer hat das Programm ja eventuell aus einem guten Grund aus dem Verzeichnis gestartet.
Antworten