Ik ben een beetje aan het prullen met een programma welke de eindgebruiker misschien wil toevoegen aan de zogenaamde "Login Items" ... hoe doen we dat in Lazarus?
Beter nog: hoe zien we onze app er al in staat (of verwijderd is door de eindgebruiker) en hoe verwijderen we onze app weer uit de Login Items?
Op wat info die ik eerder gevonden had (zie deze forum post), voorbeeld code hoe je dit zou kunnen implementeren in jouw applicatie.
Wel even Process aan de Uses clausule toevoegen.
Bekijken: staat mij app al in de "Login Items"?
function CheckLoginItem:Boolean;
var s:ansistring;
begin
RunCommand('/usr/bin/osascript', ['-e','tell application "System Events" to get the name of every login item'],s);
CheckLoginItem := (Pos('NaamVanJouwApp',s)>0);
end;
Toevoegen van jouw App bij de "Login Items":
procedure AddLoginItem;
var s:ansistring;
appName:string;
begin
appName := Copy(Application.ExeName,0,pos('.app/',Application.ExeName)+3);
RunCommand('/usr/bin/osascript', ['-e','tell app "System Events" to make login item at end with properties {path:"'+appName+'", hidden:true}'],s);
end;
Verwijderen van jouw App van de "Login Items":
procedure RemoveLoginItem;
var s:ansistring;
begin
RunCommand('/usr/bin/osascript', ['-e','tell app "System Events" to delete login item "NaamVanJouwApp"'],s);
end;