private static string GetShortName(string input)
{
#if __MonoCS__
return input;
#else
if (!File.Exists(input))
return input; // can only convert real files, hope for the best on others.
char[] buffer = new char[270];
uint chars = GetShortPathName(input, buffer, 270);
return new string(buffer).Substring(0, (int) chars);
#endif
}