首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

希望大家能帮小妹小弟我解决这个有关问题

2012-03-13 
希望大家能帮小妹我解决这个问题做了一个右键菜单关联的程序可是为什么用ParamStr(1)显示出来的文件的名称

希望大家能帮小妹我解决这个问题
做了一个右键菜单关联的程序
可是
为什么用ParamStr(1)显示出来的文件的名称不全啊

我是用     showmessage(ParamStr(1));

为什么好多文件名都变成了~1   、~2什么的了

比如说
一个叫“数据库更新记录.txt”的文件
用上面的showmessage显示的是“数据库~2.txt”了
大家能帮我解答下吗


[解决办法]
长文件名缩列形式~,在DOS下才会出现的哦!
[解决办法]
先定义两个函数:
function GetLongPathName(lpszShortPath: PChar; lpszLongPath: PChar; cchBuffer: DWORD): DWORD; stdcall; external kernel32 name 'GetLongPathNameA ';

function ExtractLongPathName(const FileName: string): string;
var
Buffer: array[0..MAX_PATH - 1] of Char;
begin
SetString(Result, Buffer, GetLongPathName(PChar(FileName), Buffer, SizeOf(Buffer)));
end;

然后把你的showmessage(ParamStr(1));
改写成showmessage(ExtractLongPathName(ParamStr(1)));

热点排行