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:
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;
Beispiel: PinToTaskbar('c:\windows','Notepad.exe');