Hy
Ich bin gerade dabei ein Programm portable zu machen. Dieses Programm legt in den Eigenen Dateien einen Datenordner an.
Ich will diesem Programm die Eigenen Dateien irgendwie vortäuschen, sodass das Programm die Dateien an einem anderen, von mir bestimmten Ort ablegt.
Habt ihr da eine Idee?
sbertl
Hallo sbertl000,
hm, ich denke das geht nicht, wenn das Programm selber keine Möglichkeit bietet, den Speicherort zu beeinflussen. Du kannst höchstens den Ordner für Eigene Dateien global umstellen (ich glaube mit TweakUI geht das; ansonsten direkt über die Registry).
herbivore
Mit
System.IO.Directory.SetCurrentDirectory(string path)
kannst du das aktuelle Arbeitsverzeichnis deines Programmes ändern. Somit kannst du in einem bestimmten Verzeichnis deine Daten abspeichern.
Hallo Strauss,
er will ja, dass das andere Programm die Daten in einem bestimmten Verzeichnis speichert. Und das scheint wohl nicht ins CurrentDirectory, sondern nach Eigene Dateien zu speichern.
herbivore
Nur der Vollständigkeit halber:
Du kannst höchstens den Ordner für Eigene Dateien global umstellen (ich glaube mit TweakUI geht das; ansonsten direkt über die Registry).
Zumindest bei XP kann jeder User seine Eigenen Dateien über ihre Eigenschaften verschieben.
Ansonsten würde das ganze nur über Hooks gehen, wobei man hierbei den Bereich von .NET verlässt.
Mit System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) kann man in einer Anwendung des "Eigene Dateien"-Ordners auf dem Rechner bestimmen.
Original von Strauss
Mit System.Environment.GetFolderPath(Environment.SpecialFolder.Personal) kann man in einer Anwendung des "Eigene Dateien"-Ordners auf dem Rechner bestimmen.
auslesen jedoch nciht bestimmen.
zudem ist es nicht sein programm. er möchte in anders wahrscheinlich bereits compaliertes programm portabel machen.
Das bringt mich auch auf eine Idee... Sowas könnte man recht einfach mit Hooks realsieren. Gibt es vielleicht schon irgendwelche fertigen Programme, die so eine Art Sandbox erstellen, und mit denen man bestimmte Regeln definieren kann, z.B. wenn ein Programm die Funktion aufruft, dann soll dies und jenes geschehen, z.B. einen bestimmten. anderen Wert zurückgeben. Ein Projekt, dass in die Richtung geht wurde mal in der c´t vorgestellt, das ist schon länger her, ich glaub das hiess "Sandkastenspiele". Das ist allerdings nicht ganz so flexibel, wie ich mir das vorstelle.
Ja, ich weiss das Borg das vorgeschlagen hat 😉
Das war allerdings nicht meine Frage. Ich wollt nur wissen, ob jemand solche Programme kennt.
Original von Coder007
Ja, ich weiss das Borg das vorgeschlagen hat 😉
Das war allerdings nicht meine Frage. Ich wollt nur wissen, ob jemand solche Programme kennt.
http://www.sandboxie.com/
http://www.altiris.com/Products/SoftwareVirtualizationSolution.aspx
😉
sind zumindestens laut wikipedia recht gut 🙂
Interessant, danke. Vor allem das zweite hört sich recht nützlich an.