王朝百科
分享
 
 
 

lnk

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

lnk

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;

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
中国古代四大美女:背后隐藏惊人秘密
 女性   2025-06-20
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有