@msdn=http://msdn.microsoft.com/en-us/library/bb759974.aspx @pinvoke=http://pinvoke.net/$$$.htm Summary: Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. It's the same format as the Windows Explorer. !!!!C# Signature: [DllImport ( "Shlwapi.dll", CharSet = CharSet.Auto )] public static extern long StrFormatByteSize ( long fileSize , [MarshalAs ( UnmanagedType.LPTStr )] StringBuilder buffer , int bufferSize ); !!!!C# Signature (one line): [DllImport("Shlwapi.dll", CharSet = CharSet.Auto)] public static extern long StrFormatByteSize( long fileSize, System.Text.StringBuilder buffer, int bufferSize ); !!!!VB Signature: <System.Runtime.InteropServices.DllImport("shlwapi", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _ Private Shared Function StrFormatByteSize ( ByVal fileSize As Long, _ ByVal buffer As Text.StringBuilder, _ ByVal bufferSize As Integer ) As Long End Function !!!!User-Defined Types: None. !!!!Alternative Managed API: Do you know one? Please contribute it! !!!!Notes: None. !!!!Tips & Tricks: Please add some! !!!!Sample Code: !!!!!C# /// <summary> /// Converts a numeric value into a string that represents the number expressed as a size value in bytes, kilobytes, megabytes, or gigabytes, depending on the size. /// </summary> /// <param name="filelength">The numeric value to be converted.</param> /// <returns>the converted string</returns> public static string StrFormatByteSize (long filesize) { StringBuilder sb = new StringBuilder( 11 ); StrFormatByteSize( filesize, sb, sb.Capacity ); return sb.ToString(); } !!!!!VB ''' <summary> ''' Returns a string representation of a number of bytes (ie. 524288 = "512Kb") ''' </summary> Private Function fnFileSize( ByVal size As Long ) As String Dim sb As New Text.StringBuilder( 20 ) StrFormatByteSize( size, sb, sb.Capacity ) Return sb.ToString() End Function !!!!!Powershell $nativeMethods = Add-Type -PassThru -Name "Win32Api" -MemberDefinition @" [DllImport("Shlwapi.dll", CharSet = CharSet.Auto)] public static extern long StrFormatByteSize( long fileSize, System.Text.StringBuilder buffer, int bufferSize ); "@ $sb = New-Object Text.StringBuilder 100 $nativeMethods::StrFormatByteSize( 1024, $sb, $sb.Capacity ) | Out-Null $sb.ToString() Documentation: StrFormatByteSize@msdn on MSDN
Edit shlwapi.StrFormat...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.