Taskbar - Jumplist

Antworten
MmVisual
Beiträge: 1466
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Taskbar - Jumplist

Beitrag von MmVisual »

Hallo,

Ich möchte gerne in dem Menü meines Programmes in der Taskbar die Liste erweitern. Die Liste nennt sich "Jumplist". Hier einige Links dazu:

Hier hat jemand "My Category" und "My other Category" hinzugefügt.
http://blogs.microsoft.co.il/sasha/2009 ... kbar-apis/

Hier steht schon viel drin:
https://msdn.microsoft.com/de-de/magazine/dd942846.aspx

Also es geht mir nur um zusätzliche Befehle die ich in das Menü hinzufügen möchte. Aber ich habe nun nichts gefunden wie ich das mit Lazarus bewerkstelligen kann.
Hat jemand einen Tipp wie ich weiter suchen kann?
Am besten wäre eine Komponente die unter Windows und Linux funktioniert, aber ich denke das ist schon sehr speziell.

Vielen Dank, Grüße Markus.
EleLa - Elektronik Lagerverwaltung - www.elela.de

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Taskbar - Jumplist

Beitrag von Socke »

MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: Taskbar - Jumplist

Beitrag von Michl »

Es gäbe noch den Ansatz von Delphi http://edn.embarcadero.com/article/10432, komischerweise funktioniert das bei mir nicht, obwohl "WidgetSet.AppHandle" dem "Application.Handle" entsprechen sollte (zumindest mit FlashWindow(WidgetSet.AppHandle, True), blinkt der Taskleisteneintrag).
Das Zufügen eines Eintrages und Abfangen des OnClick - Events bei dem Standard-PopUps von z.B. Form1 funktioniert hingegen:

Code: Alles auswählen

procedure TForm1.FormCreate(Sender: TObject);
var
  sysMenuHandle: THandle;
begin
//  sysMenuHandle:=GetSystemMenu(Handle, false);   //das funktioniert
  sysMenuHandle:=GetSystemMenu(WidgetSet.AppHandle, false); //das nicht
  AppendMenu(sysMenuHandle, MF_SEPARATOR, 0, '');
  AppendMenu(sysMenuHandle, MF_STRING, MyMenuItem, 'Hilfe');
end;

Evtl. benötigt man doch ein anderes Handle (ich habe es jetzt nicht weiter probiert) oder ist Sockes Hinweis erfolgreicher?!

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten