Einzelnen Beitrag anzeigen

blackdrake

Registriert seit: 22. Aug 2003
Ort: Bammental
618 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Ist COM-DLL im System eingebunden (registriert)?

  Alt 29. Jan 2007, 18:49
Hallo. Ich hab leider keine Ahnung von was du redest Ich habe bei meiner Kontextmenü-DLL keine TLB.

Meine DLL besteht nur aus einer PAS und sieht so aus:

Delphi-Quellcode:
unit ShellExtMain;

interface

uses
  ComServ, SysUtils, ShellAPI, Windows, Registry, ActiveX, ComObj, ShlObj,
  Graphics, classes, inifiles;

const
  GUID_TDFKontextMenuShellExt: TGUID = '{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}';

type
  TDFKontextMenuShellExt = class(TComObject, IShellExtInit, IContextMenu)
    protected
      function IShellExtInit.Initialize = SEInitialize;
      function SEInitialize(pidlFolder: PItemIDList; lpdobj: IDataObject; hKeyProgID: HKEY): HResult; stdcall;
      function QueryContextMenu(Menu: HMENU; indexMenu, idCmdFirst, idCmdLast, uflags: UINT): HResult; stdcall;
      function InvokeCommand(var lpici: TCMInvokeCommandInfo): HResult; stdcall;
      function GetCommandString(idCmd, uType: UINT; pwReserved: PUINT; pszName: LPSTR; cchMax: UINT): HResult; stdcall;
  end;

(...)

initialization
  // Initialisierung
  TDFKontextMenuShellExtFactory.Create(ComServer, TDFKontextMenuShellExt, GUID_TDFKontextMenuShellExt,
    '', 'Programmname', ciMultiInstance, tmApartment);
  (...)
end.
Daniel Marschall
  Mit Zitat antworten Zitat