Truncate a Path String

Truncate a Path String

Sometimes you need to truncate a long path string to make it fit in a control. Currently, there is no .NET class that provides this functionality. The workaround is to use the Windows Shell function (PathCompactPathEx).

PathCompactPathEx is a bool Shell Lightweight Utility Function available in the Windows shell. The following example shows how to use PathCompactPathEx to shorten a long path string to 20 characters and display the results in a TextBox:

//Usingusing System.Runtime.InteropServices;//DLLImport -- Calling Native Function[DllImport("shlwapi.dll", CharSet = CharSet.Auto, SetLastError = true)]private static extern bool PathCompactPathEx(System.Text.StringBuilder pszOut, string pszSrc, Int32 cchMax,Int32 dwFlags);//The text to Compactstring strLong = "C:Program FilesDevx FinancialPublicatoinsTodayPresent.txtc";StringBuilder sbShort = new StringBuilder(260);bool returnValue = PathCompactPathEx(sbShort , strLong , 20+1, 0);//Shows Short Text with 20 CharacterstxtShort.Text = sbShort .ToString();


Share the Post: