linux升级lazarus,Linux下使用Lazarus创建快捷方式

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

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、付费专栏及课程。

余额充值