请问如何解决此问题?EXE是我用MFC写的,可以修改代码。 
我在程序中查找完整进程名,若存在则不重复启动.结果进程名不对,会多次启动.
但是重启win7进程名就全了,不会再出问题.现在是想让第一次启动程序时进程名能是完整的Windows 7MFC

解决方案 »

  1.   

    这个情况应该是16位操作系统年代才有的问题啊,文件名必须是8.3格式,超过8个字符的文件名自动产生一个xxx~1.xxx的短文件名,现在的系统至少也是32位的了,理论上不应该出现这种情况。检查一下驱动器是哪种格式,FAT16/FAT32/NTFS。
      

  2.   

    我在程序中查找完整进程名,若存在则不重复启动.结果进程名不对
    ------------
    GetShortPathName /GetLongPathName
      

  3.   


    的确理论上不该出现,但win7下刚安装完程序,然后运行EXE就会出现我说的情况.
    我安装到C盘的  C盘是NTFS的
      

  4.   


    经过尝试,我的完整程序名经过GetShortPathName 后能得到ANALYS~1.EXE这样的缩写名称,遍历进程查找完整文件名和缩写文件名的进程,能找到,找到之后不重复启动,能达到目的。
    但是还是想知道为什么第一次启动程序时进程名是缩写,重启后就好了。
    以及如何让第一次启动程序时进程名是完整的,从根本上解决问题。
    求大神指教~~