导航
  • 主页
  • 招聘
  • 语言基础/算法/系统设计
  • 数据库相关
  • 图形处理/多媒体
  • 网络通信/分布式开发
  • VCL组件开发及应用
  • Windows SDK/API
  • 问答

《源程序》如何从快键方式得到主程序名

stiwin 2002-10-31 02:06:44
function TForm1.GetShortcutTarget(ShortcutFilename:String):String;
var
Psl:IShellLink;
Ppf:IPersistFile;
WideName:Array [0..MAX_PATH] of WideChar;
pResult:Array [0..MAX_PATH-1] Of Char;
Data:TWin32FindData;
const
IID_IPersistFile:TGUID=(D1:$0000010B; D2:$0000; D3:$0000; D4:($C0,$00,$00,$00,$00,$00,$00,$46));
begin
CoCreateInstance(CLSID_ShellLink,nil,CLSCTX_INPROC_SERVER, IID_IShellLinkA ,psl);
psl.QueryInterface(IID_IPersistFile,ppf);
MultiByteToWideChar(CP_ACP, 0, pChar(ShortcutFilename), -1, WideName, Max_Path);
ppf.Load(WideName,STGM_READ);
psl.Resolve(0,SLR_ANY_MATCH);
psl.GetPath(@pResult,MAX_PATH,Data,SLGP_UNCPRIORITY);
Result:=StrPas(@pResult);
end;


记得uese ActiveX,ShlObj,ComObj;

源程序可以在:http://www20.brinkster.com/lszgx/shortcut.zip下载
...全文
11 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
siyu2002 2002-11-25
学习
回复
bcrun 2002-11-21
鼓掌,啪啪
回复
chenybin 2002-11-21
不错
回复
foreveryday007 2002-11-02
學習ing
回复
发动态
发帖子
Delphi
创建于2007-08-02

4800

社区成员

Delphi 开发及应用
申请成为版主
社区公告
暂无公告