52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| /*********************************************************************************************
 | |
|  * Copyright 2004 - Volian Enterprises, Inc. All rights reserved.
 | |
|  * Volian Enterprises - Proprietary Information - DO NOT COPY OR DISTRIBUTE
 | |
|  * ------------------------------------------------------------------------------
 | |
|  * $Workfile: ShrtNm.cs $     $Revision: 1 $
 | |
|  * $Author: Kathy $   $Date: 7/27/04 8:34a $
 | |
|  *
 | |
|  * $History: ShrtNm.cs $
 | |
|  * 
 | |
|  * *****************  Version 1  *****************
 | |
|  * User: Kathy        Date: 7/27/04    Time: 8:34a
 | |
|  * Created in $/LibSource/Utils
 | |
|  *********************************************************************************************/
 | |
| 
 | |
| using System;
 | |
| using System.Text;
 | |
| using System.Runtime.InteropServices;
 | |
| using System.ComponentModel;
 | |
| 
 | |
| namespace Utils
 | |
| {
 | |
| 	/// <summary>
 | |
| 	/// Summary description for ShrtNm.
 | |
| 	/// </summary>
 | |
| 	public class ShortName
 | |
| 	{
 | |
| 		[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
 | |
| 		[return:MarshalAs(UnmanagedType.U4)]
 | |
| 		public static extern int GetShortPathName(
 | |
| 			[MarshalAs(UnmanagedType.LPTStr)] string lpszLongPath,
 | |
| 			[MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpszShortPath,
 | |
| 			[MarshalAs(UnmanagedType.U4)] int cchBuffer);
 | |
| 
 | |
| 		private string _LongFileName;
 | |
| 		private StringBuilder _ShortFileName;
 | |
| 
 | |
| 		public ShortName(string longname)
 | |
| 		{
 | |
| 			_LongFileName = longname;
 | |
| 			_ShortFileName = new StringBuilder(256);
 | |
| 			int len = GetShortPathName(_LongFileName,_ShortFileName,256);
 | |
| 			if (len==256) _ShortFileName=null;
 | |
| 			if (len==0) _ShortFileName.Append(longname);
 | |
| 		}
 | |
| 
 | |
| 		[Description("FileName")]public string ShortFileName
 | |
| 		{
 | |
| 			get{return _ShortFileName.ToString();}
 | |
| 		}
 | |
| 	}
 | |
| }
 |