![]() |
Re: Datei exklusiv öffnen
könnte ich es auch lösen indem ich einfach die Befehle von Windows abfange, bevor diese ausgeführt werden ? sprich jemand klickt auf kopieren und dann bei einfügen fängt das programm den Befehl ab und sagt nein..dabei würde es reichen das spezifisch auf den Dateinamen zu machen ...
genial wäre es, wenn ich in Windows komplett den "Kopieren"- Modus abschalten könnte solange mein Programm läuft wäre das umsetzbar? |
Re: Datei exklusiv öffnen
Ich frage halt nochmal nach: wie groß ist die Datei? Welchen Typ Daten enthält sie - Text, binär, strukturiert? Wie wird sie erstellt? Willst du die Datei nur vor fremden Zugriff schützen, während dein Programm läuft? Was ist mit der Datei, wenn dein Programm beendet wird?
Warum das ganze? Wenn du die richtigen Antworten auf diese Fragen gibst, dann gibt es vielleicht einen völlig anderen Lösungsansatz. Grüße vom marabu |
Re: Datei exklusiv öffnen
Zitat:
Zitat:
Grüße, Messie |
Re: Datei exklusiv öffnen
Und das steht im aktuellen PSDK:
Zitat:
|
Re: Datei exklusiv öffnen
Zitat:
2. Datentyp ist Text 3. Wird beim Ausführen des Programmes erstellt indem sie umgewandelt wird und auf Platte geschrieben wird 4. Ja will einfach nur nicht, dass man sie kopieren kann.. 5. Beim Programmende wird sie gelöscht 6. Der Grund ist wie gesagt, dass ich es verhindern möchte dass jemand die textdatei kopiert und ohne mein Programm benutzen kann. Wenn ich wissen würde welche Date in Windows fürs Dateikopieren verantwortlich ist könnte ich diese mit FileStream zuweisen und das reicht auch vollkommen aus. XCOPY.EXE ist es schonmal nicht..muss irgendeine andere datei sein die das macht. |
Re: Datei exklusiv öffnen
Dann willst Du sie während der Programmausführung also im Windows-Editor-Fenster öffnen... was wenn Du auf Shellexecute verzichtest und dir selber einen Editor baust (gibts bestimmt auch fertig), kannst Du die Datei bei Start besetzen und zum Ende freigeben und dann löschen.
Grüße, Messie |
Re: Datei exklusiv öffnen
das wäre auch eine Möglichkeit nur einziges Problem dabei ist eben die Umsetzung, sprich um das zu realisieren müsste ich etwas größeres Schreiben.. dabei habe ich schon sowieso sehr viel um die Ohren. Wenn nun niemand einen Lösungsweg hat werde ich dies wohl dann auch tun müssen..mal abwarten :D
|
Re: Datei exklusiv öffnen
Wenn du jetzt alle deine Anforderungen offen gelegt hast, dann frage ich mich warum du die Datei überhaupt erst im Dateisystem ablegen willst. Wenn nur deine Anwendung Zugriff haben soll, dann kannst du sie doch einfach in einen TMemoryStream schreiben und diesen so verwenden, als ob es eine Datei auf der Festplatte sei.
marabu |
Re: Datei exklusiv öffnen
Zitat:
selber verarbeiten. Eine Textdatei anzuzeigen dürfte nun wirklich nicht so schwer sein, oder? :gruebel: Um das Kopieren zu sperren, müsstest du einen nicht gerade trivialen Windows-Hook schreiben. Ich fände es übrigends nicht wirklich prickelnd, wenn ein Programm mir das kopieren von Dateien verbieten würde... |
Re: Datei exklusiv öffnen
ein Programm wie Notepad ist doch nicht schwer umzusetzen, vor allem nicht wenn du speichern, öffnen, drucken etc. weglässt. Dann brauchst du nur ein form bauen, darauf ein TRichEdit (vielleicht reicht sogar ein TMemo) und darin deinen Text anzeigen.
Ich denke jedoch das du allgemein den falschen Lösungsansatz hast. Denn du brauchst ja auch ein weilschen vom erstellen der Datei bis zum exclusiven öffnen mit TFileStream. Und in der zwischenzeit kann die Datei schon gelesen werden. Du solltest also versuchen vollständig auf das schreiben auf die Festplatte zu verzichten. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz