Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - MacOS X - Toevoegen, Bekijken, Verwijderen van jouw app in Login Items

2 Berichten
1 Gebruikers
0 Reactions
1,224 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2869
Topic starter  

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;                     

   
BeantwoordenCiteren
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2869
Topic starter  

Verbetering op Login Items toevoegen:

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 {name:"'++Application.Title'",path:"'+appName+'", hidden:true}'],s);
end;


   
BeantwoordenCiteren
Deel: