Reißt euch bitte etwas zusammen und versucht zu einer sachlichen, auf das Thema bezogene Diskussion zurück zu kommen!
Wobei eigentlich schon alles gesagt wurde. Es wurden zwei Möglichkeiten präsentiert, welche da von jetzt besser oder schlechter ist, ist wohl kaum abschließend zu klären und unterliegt unterschiedlichen Philosophien.
Ich sagte ja einen hab ich noch damit alle guten Dinge drei ergeben, für Leute die tatsächlich
WinApi benutzen möchten, hier bitte schön
Delphi-Quellcode:
function CompressFile(
const FileName:
string; Compress: Boolean): integer;
var
FSWbemLocator : OLEVariant;
FWMIService : OLEVariant;
FWbemObject : OLEVariant;
begin;
FSWbemLocator := CreateOleObject('
WbemScripting.SWbemLocator');
FWMIService := FSWbemLocator.ConnectServer('
localhost', '
root\CIMV2', '
', '
');
FWbemObject := FWMIService.Get(Format('
CIM_DataFile.Name="%s"',[StringReplace(FileName,'
\','
\\',[rfReplaceAll])]));
if Compress
then
Result:=FWbemObject.Compress()
else
Result:=FWbemObject.UnCompress();
end;
Keine Fehlerkontrolle, nur reines "machen" momentan.