RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: .NET
Expertise: Intermediate
Jan 21, 2009

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:

using 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 Compact
string strLong = "C:\Program Files\Devx Financial\Publicatoins\Today\Present.txtc";
StringBuilder sbShort = new StringBuilder(260);
bool returnValue = PathCompactPathEx(sbShort , strLong , 20+1, 0);
//Shows Short Text with 20 Characters
txtShort.Text = sbShort .ToString();
Srinath MS
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date