吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 652|回复: 0
收起左侧

[求助] C# Process..MainModule.FileName 长短文件名的问题

[复制链接]
gksj 发表于 2022-9-7 13:05
编译环境: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[ps.Length-1].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的问题?

如果实在是没有办法我想尝试用
[DllImport("kernel32.dll")]static extern uint GetLongPathName(string shortname, StringBuilder longnamebuff, uint buffersize);
来处理。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为之奈何? + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表