![]() |
Windows7 built-in Zip nutzen
Guten Tag ihr lieben,
ich möchte gerne die in Win7 eingebaute zip-Funktion nutzen. Da man ja auch viele andere Windowsfunktionen über Shell oder ähnliches aufrufen kann müsste das doch möglich sein, ich konnte in der API jedoch keinen passenden Befehl finden... hat jemand einen Tipp für mich? Danke! |
AW: Windows7 built-in Zip nutzen
Zitat:
![]() |
AW: Windows7 built-in Zip nutzen
Danke für deine Antwort, das habe ich nicht gefunden. Entschuldige, wenn ich mich gerade blöd anstelle (bin noch nicht so lange dabei), aber wie genau hilft mir das denn weiter? Ich müsste das ganze ja in eine Delphi-Funktion kriegen..
|
AW: Windows7 built-in Zip nutzen
Compress a File or Folder using the NTFS compression
UnCompress a File or Folder using the NTFS compression ![]() ![]() ------------------------------------------------ Wer WINDOWS 8 hat: Windows.Storage.Compression ![]() |
AW: Windows7 built-in Zip nutzen
Zitat:
Das ist doch die neue API für Apps, auf die du da verlinkt hast. |
AW: Windows7 built-in Zip nutzen
jaenicke hat recht, danke @hathor, aber das hilft mir leider auch nicht weiter
|
AW: Windows7 built-in Zip nutzen
Lies dir mal diesen Thread hier durch:
![]() Bis denn Bommel |
AW: Windows7 built-in Zip nutzen
Danke @Bommel.. Das hört sich eigentlich gut an, habe auch mal etwas mit deinem Code experimentiert, nur komme ich damit nicht so ganz klar. Hast Du davon eine Demo/ein Beispiel?
|
AW: Windows7 built-in Zip nutzen
Man kann auch compact.exe verwenden, das in allen WIN-Versionen vorhanden ist.
![]() |
AW: Windows7 built-in Zip nutzen
Solangs funktioniert :) Aber kann man die denn auch über Delphi ohne weiteres ansprechen? Hab sowas noch nie probiert, könnte aber je nachdem kompliziert werden
|
AW: Windows7 built-in Zip nutzen
Die NTFS Komprimierung ist nicht gleichzusetzen mit einem Zip-Archiv. Das sind zwei unterschiedliche Paar Schuhe. Die NTFS Komprimierung existiert nur auf dem lokalen Computer und im Dateisystem dieses Computers. Wird eine so komprimierte Datei weitergegeben, wird sie natürlich unkomprimiert weitergegeben. Auch sind natürlich Archive mit mehrere Dateien und einer Ordnerstruktur nicht möglich.
Das Systemprogramms compact.exe ermöglicht nur eine manuelle NTFS Komprimierung, wenn ich die Hilfe dazu richtig deute. Ob das Nutzen der undokumentierten Funktionen in zipfldr.dll so sinnvoll ist bleibt zu diskutieren. Aber eigentlich braucht man doch nur Code zum Erstellen von Archiven. Und da gibt es ja diverse Zip kompatible Bibliotheken. |
AW: Windows7 built-in Zip nutzen
Zitat:
|
AW: Windows7 built-in Zip nutzen
Die Anwendung ist doch ganz einfach:
Man erstellt einen Ordner, mit COMPACT /C wird der Ordner als "komprimiert" markiert. Alles, was jetzt in den Ordner kopiert wird, wird automatisch komprimiert. Directories will be marked so that files added afterward will be compressed. Beispiel: F:\ mdir CTEST compact F:\CTEST /C Die Schriftfarbe des Ordners ändert sich von schwarz nach blau. |
AW: Windows7 built-in Zip nutzen
Zitat:
Delphi-Quellcode:
In dem Beispiel wird jetzt eine einzige Datei in die Zip-Datei geschrieben (nämlich eine Konfig-Datei, tut aber eigentlich nichts zur Sache). Man gibt im Befehl "ZipFolder" also an, dass man jetzt ein Verzeichnis komprimieren will. Will man aber in Wahrheit gar nicht das ganze Verzeichnis komprimieren, sondern, wie hier im Beispiel, doch nur eine einzelne Datei, so kann man diesen Dateinamen eben vorher im "Filter" setzen. Darüber kann man dann natürlich auch mit Wildcards arbeiten.
var [...]
shellZip: TShellZip; begin [...] shellZip:=TShellZip.Create; shellZip.Zipfile:=aZipFilename; // erstmal die Konfig sichern if fileExists(aConfigFilename) then begin shellZip.Filter:=ExtractFileName(aConfigFilename); try shellZip.ZipFolder(ExtractFileDir(aConfigFilename),10); except on e: exception do begin Result:=e.Message; success:=false; end; end; end; [...] Ich hoffe, das hilft dir erstmal weiter. Sollten noch Rückfragen sein, bitte nicht wundern, falls ich erstmal nicht antworte, da ich in den nächsten Tagen wahrscheinlich nicht am Rechner bin. Bis denn Bommel |
AW: Windows7 built-in Zip nutzen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:52 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