Einzelnen Beitrag anzeigen

greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

Anwendung zur Superbar hinzufügen

  Alt 13. Okt 2015, 09:33
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');
  Mit Zitat antworten Zitat