获得热连接执行文件 (2001年1月8日).txt

来自「自己对DELPHI学习的一点体会」· 文本 代码 · 共 63 行

TXT
63
字号
获得热连接执行文件 (2001年1月8日) 

网友更新  分类:文件系统   作者:阎 磊  推荐:yanlei   阅读次数:438  
(http://www.codesky.net)  

--------------------------------------------------------------------------------
uses registry
function del_str_param(ss:string):string;//去多余的
var
i,num:integer;
s1,s2:string;
begin
ss:=trim(ss);
if pos('"',ss)>0 then //可能目录带空格,或者注册加了"
begin
num:=length(ss);
s1:='';
for i:=2 to num do //第一个一定为"
begin
s2:=ss[i];
if s2='"' then
begin
break;
end;

s1:=s1+s2;
end;

end
else
begin
s1:=copy(ss,1,pos(' ',ss)-1);
end;

result:=s1;
end;

function getexefilename(fileext:string):string;//参数前加var是传值,也就是传递是只能是变量
var
reg:Tregistry;
s1:string;
begin
result:='';
reg:=tregistry.Create;
try
reg.RootKey:=HKEY_CLASSES_ROOT;
if not reg.OpenKey(fileext,false) then exit;
s1:=reg.ReadString('');
reg.closekey;
if (s1='') or (not reg.openkey(s1,false)) then exit;
if not reg.OpenKey('shell\open\command',false) then exit;
result:=del_str_param(reg.ReadString(''));
reg.CloseKey;
finally;
reg.Free;
end;

end;
调用:
showmessage(getexefilename('.bmp'));
 
 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?