![]() |
Anwendung zur Superbar hinzufügen
Da ich schon länger danach gesucht habe, hier eine kurze und schnelle Möglichkeit, den Schnellstart einer Anwendung an die Superbar zu heften.
Code:
Beispiel: PinToTaskbar('c:\windows','Notepad.exe');
procedure PinToTaskbar(strPath, strApp: AnsiString);
var Buffer: array [0 .. 1023] of char; BufferLen: Integer; vShell, vFolder, vFolderItem, vItemVerbs: Variant; vPath, vApp: Variant; Count: Integer; dllHnd: LongInt; ItemName, FnkName: AnsiString; begin Try dllHnd := SafeLoadLibrary('Shell32.dll'); If dllHnd<32 then Exit; BufferLen := LoadString(dllHnd, 5386, Buffer, 255); FreeLibrary(dllHnd); if (BufferLen>0) then begin SetString(FnkName, Buffer, BufferLen); vShell := CreateOleObject('Shell.Application'); vPath := strPath; vFolder := vShell.NameSpace(vPath); vApp := strApp; vFolderItem := vFolder.ParseName(vApp); vItemVerbs := vFolderItem.Verbs; for Count := 1 to vItemVerbs.Count do begin ItemName := vItemVerbs.Item(Count).Name; if (ItemName=FnkName) then begin vItemVerbs.Item(Count).DoIt; break; end; end; end; Except End; end; |
AW: Anwendung zur Superbar hinzufügen
Nur als Hinweis: Es war Absicht von Microsoft, keine programmatische Möglichkeit einzubauen, mit denen Programme sich selbst (oder irgendwelche anderen Dinge) an die Taskleiste oder das Startmenü anheften. Mehr Infos zu den Hintergründen bei
![]() ![]() Um dennoch etwas in die "unerlaubte" Richtung zu sagen: Die Sache geht noch einfacher: ShellExecute mit den - offenbar komplett undokumentierten - Verbs "taskbarpin" bzw. "taskbarunpin". Ersteres funktioniert natürlich nur mit der zu pinnenden Datei, letzteres ausschließlich mit der entstandenen .lnk im entsprechenden Verzeichnis (Quick Launch\User Pinned\Taskbar). MfG Dalai |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz