分享
 
 
 

lnk

王朝百科·作者佚名  2010-01-22
窄屏简体版  字體: |||超大  

lnk 文件是用于指向其他文件(如,程序)的一种文件。 这些文件通常称为快捷方式文件.通常它以快捷方式放在桌面上.以方便使用者快速的调用

其扩展名为.lnk

windows的很多lnk文件(也就是快捷方式)都是带有参数的,但是自己并不真正了解,不知道有谁知道?自己通过实践摸索出一些,希望能给大家带来帮助:

/play—在打开连接后自动运行媒体文件

"%1" —打开连接后自动出现文件选取框选择文件

/Play "%L" —打开winamp后自动出现List选择框选择文件播放列表

“.lnk”是WINDOWS系统默认的快捷方式的扩展名,如果“文件夹选项”下设置为“隐藏已知文件类型的扩展名”,正常情况下“.lnk”是不显示的。你的快捷方式的扩展名显现出来,证明WINDOWS设置被中断,快捷方式为不可识别信息。

修复的方法:

(1)点击“开始”→“运行”,键入“cmd”,进入命令提示符状态,用键盘敲入assoc.lnk=lnkfile(中间无空格),按回车即可。

(2)点击“开始”→“运行”,键入“regedit”,进入注册表,搜索“HKEY_LOCAL_MACHINESOFTWARECLASSES”下的“.lnk”键,修改其值为“lnkfile”,保存即可。

两种办法本质一样,如果你不懂注册表建议采用第一种方法

______________________________________

如何通过lnk文件获取该文件的执行路径和程序

function LinkFileInfo(const lnkFileName:string;var info:LINK_FILE_INFO;const bSet:boolean):boolean;

var

hr:hresult;

psl:IShelllink;

wfd:win32_find_data;

ppf:IPersistFile;

lpw:pwidechar;

buf:pwidechar;

begin

result:=false;

getmem(buf,MAX_PATH);

try

if SUCCEEDED(CoInitialize(nil)) then

if (succeeded(cocreateinstance(clsid_shelllink,nil,clsctx_inproc_server,IID_IShellLinkA,psl))) then

begin

hr:=psl.QueryInterface(iPersistFile,ppf);

if succeeded(hr) then

begin

lpw:=stringtowidechar(lnkfilename,buf,MAX_PATH);

hr := ppf.Load(lpw, STGM_READ);

if succeeded(hr) then

begin

hr := psl.Resolve(0, SLR_NO_UI);

if succeeded(hr) then

begin

if bSet then

begin

psl.SetArguments(info.Arguments);

psl.SetDescription(info.Description);

psl.SetHotkey(info.HotKey);

psl.SetIconLocation(info.IconLocation,info.IconIndex);

psl.SetIDList(info.ItemIDList);

psl.SetPath(info.FileName);

psl.SetShowCmd(info.ShowState);

psl.SetRelativePath(info.RelativePath,0);

psl.SetWorkingDirectory(info.WorkDirectory);

if succeeded(psl.Resolve(0,SLR_UPDATE)) then

result:=true;

end

else

begin

psl.GetPath(info.FileName,MAX_PATH, wfd,SLGP_SHORTPATH );

psl.GetIconLocation(info.IconLocation,MAX_PATH,info.IconIndex);

psl.GetWorkingDirectory(info.WorkDirectory,MAX_PATH);

psl.GetDescription(info.Description,CCH_MAXNAME);

psl.GetArguments(info.Arguments,MAX_PATH);

psl.GetHotkey(info.HotKey);

psl.GetIDList(info.ItemIDList);

psl.GetShowCmd(info.ShowState);

result:=true;

end;

end;

end;

end;

end;

finally

freemem(buf);

end;

end;

//*******************调用*****************

showmessage('FileName:'+info.filename+#13+'Description:'+info.Description+#13+'IconFilename:'+info.IconLocation+','+inttostr(info.IconIndex)+

#13+'WordDir:'+info.WorkDirectory+#13+'Arguments:'+info.Arguments+#13+'ShorCuts:'+shortcuttotext(s));

info.WorkDirectory:='D:\Borland\Delphi5\projects';

linkfileinfo(opendialog1.filename,info,true);

end;

end;

==============================================

function GetLinkFileName(sLinkFileName: string; var sTargetFileName: string): boolean;

var

psl: IShellLink;

ppf: IPersistFile;

hres, nLen: integer;

pfd: TWin32FindData;

pTargetFile: PChar;

pwLinkFileName: PWideChar;

begin

Result := false;

if SUCCEEDED(CoInitialize(nil)) then

begin

CoCreateInstance(CLSID_ShellLink, nil, CLSCTX_INPROC_SERVER, IID_IShellLinkA, psl);

if (SUCCEEDED(hres)) then

begin

hres := psl.QueryInterface(IID_IPersistFile, ppf);

if (SUCCEEDED(hres)) then

begin

nLen := MultiByteToWideChar(CP_ACP, 0, PChar(sLinkFileName), -1, pwLinkFileName, 0);

GetMem(pwLinkFileName, nLen);

ZeroMemory(pwLinkFileName, nLen);

MultiByteToWideChar(CP_ACP, 0, PChar(sLinkFileName), -1, pwLinkFileName, nLen);

ppf.Load(pwLinkFileName, STGM_READ);

GetMem(pTargetFile, MAX_PATH);

ZeroMemory(pTargetFile, MAX_PATH);

hres := psl.GetPath(pTargetFile, MAX_PATH, pfd, SLGP_UNCPRIORITY );

if (SUCCEEDED(hres)) then

begin

sTargetFileName := StrPas(pTargetFile);

Result := true;

end;

FreeMem(pTargetFile);

FreeMem(pwLinkFileName);

end;

end;

end;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有