Linux下使用Lazarus创建快捷方式

本文介绍了一种在Linux环境下通过编程方式创建桌面应用程序快捷方式的方法。该方法使用Delphi和C语言结合实现,包括设置快捷方式的各项属性如图标路径、执行命令等,并通过C语言编写的函数修改文件权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

procedure TFormClientAgent.ActAppCreateLinkExecute(Sender: TObject);
var
  vFileName: string;
  iniFile: TIniFile;
begin
  try
    vFileName := GetDeskTopDir + '/AR.desktop';
    IniFile := TIniFile.Create(vFileName);
    try
      iniFile.WriteString('Desktop Entry', 'Encoding', 'UTF-8');
      iniFile.WriteString('Desktop Entry', 'Name', 'AR For Linux');
      iniFile.WriteString('Desktop Entry', 'Comment', 'AR For Linux');
      iniFile.WriteString('Desktop Entry', 'Exec', Format('"%s"', [ParamStr(0)]));
      iniFile.WriteString('Desktop Entry', 'Type', 'Application');
      iniFile.WriteString('Desktop Entry', 'GenericName', 'AR For Linux');
      iniFile.WriteString('Desktop Entry', 'Terminal', 'false');
      iniFile.WriteString('Desktop Entry', 'Icon', ExtractFilePath(ParamStr(0)) + '/ar.png');
    finally
      IniFile.Free;
    end;
    ModifyFileAttribute(GetDeskTopDir + '/AR.desktop');
  except
  end;
end;

生成的文件位置为桌面, 名称为: AR.desktop, 内容为:

[Desktop Entry]
Encoding=UTF-8
Name=AR For Linux
Comment=AR For Linux
Exec="/mnt/hgfs/FPC/Bin/AR For Linux"
Type=Application
GenericName=AR For Linux
Terminal=false
Icon=/mnt/hgfs/FPC/Bin//ar.png

 

ModifyFileAttribute(GetDeskTopDir + '/AR.desktop');

这句话是更改文件的属性, 具体代码如下: (C写的SO文件, Lazarus调用)

 

#include <sys/stat.h>

extern int ModifyFileAttribute(char *aFile)
{
    char mode[] = "0777";
//    char buf[100] = "/home/anonym/Desktop/AR.desktop";
    int i;
    i = strtol(mode, 0, 8);
    if (chmod (aFile,i) < 0)
    {
        return -1;
    }
    return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值