M Mattias Sjögren Jan 28, 2005 #2 You can call DeviceIoControl(FSCTL_SET_COMPRESSION) via PInvoke. http://msdn.microsoft.com/library/en-us/devio/base/deviceiocontrol.asp http://msdn.microsoft.com/library/en-us/fileio/base/fsctl_set_compression.asp Mattias
You can call DeviceIoControl(FSCTL_SET_COMPRESSION) via PInvoke. http://msdn.microsoft.com/library/en-us/devio/base/deviceiocontrol.asp http://msdn.microsoft.com/library/en-us/fileio/base/fsctl_set_compression.asp Mattias
W Willy Denoyette [MVP] Jan 29, 2005 #3 Anybody? thanks, Sean Click to expand... Very easy, use System.Management and WMI's class Win32_Directory method Compress. Here's a sample.... using System.Management; .... string dirName = "c:\\\\somefolder"; string objPath = "Win32_Directory.Name=" + "\"" + dirName + "\""; Console.WriteLine(objPath); using (ManagementObject dir= new ManagementObject(objPath)) { ManagementBaseObject outParams = dir.InvokeMethod("Compress", null, null); uint ret = (uint)(outParams.Properties["ReturnValue"].Value); if(ret == 0) Console.WriteLine("Success"); else Console.WriteLine("Failed with error code: {0}", ret); } Willy.
Anybody? thanks, Sean Click to expand... Very easy, use System.Management and WMI's class Win32_Directory method Compress. Here's a sample.... using System.Management; .... string dirName = "c:\\\\somefolder"; string objPath = "Win32_Directory.Name=" + "\"" + dirName + "\""; Console.WriteLine(objPath); using (ManagementObject dir= new ManagementObject(objPath)) { ManagementBaseObject outParams = dir.InvokeMethod("Compress", null, null); uint ret = (uint)(outParams.Properties["ReturnValue"].Value); if(ret == 0) Console.WriteLine("Success"); else Console.WriteLine("Failed with error code: {0}", ret); } Willy.