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();}
|
|
}
|
|
}
|
|
}
|