C# Process..MainModule.FileName 长短文件名的问题
编译环境:VS2013,.NET4.5目标进程绝对路径:D:\Program Files\Tencent\QQGame\MiniGames\Tetris\Tetris.exe
源码:
internal static void Chk检测游戏进程()
{
Process[] ps = Process.GetProcessesByName("Tetris");
if (ps.Length > 0)
{
ExePath = ps.MainModule.FileName ;
}
}
internal static DateTime LastStartTime = DateTime.MinValue;
internal static string ExePath = string.Empty;
internal static string ExeTitle = string.Empty;
当我在编译程序的电脑中获取到的ExePath字符串为:“D:\Program Files\Tencent\QQGame\MiniGames\Tetris\Tetris.exe”
但是在其他电脑中获取到的路径就变成了“D:\PROGRA~1\Tencent\QQGame\MINIGA~1\Tetris\Tetris.exe”
我想问的是能不能让他强制获取长文件名(禁止~1的短文件名出现)
这个是系统环境变量的问题还是NET的问题?
如果实在是没有办法我想尝试用
static extern uint GetLongPathName(string shortname, StringBuilder longnamebuff, uint buffersize);
来处理。
页:
[1]