ich habe hier mal etwas gefunden, was bestimmt das ist, was ich brauche. allerdings bin ich beim erstellen eines IDataObjectshängen geblieben ;_; kann mir jemand helfen?
Delphi-Quellcode:
function TDFKontextMenuShellExt.SEInitialize(pidlFolder: PItemIDList;
lpdobj: IDataObject; hKeyProgID: HKEY): HResult;
var
StgMedium: TStgMedium;
FormatEtc: TFormatEtc;
Idx: Integer;
begin
if (lpdobj = nil) then
begin
Result := E_INVALIDARG;
Exit;
end;
with FormatEtc do
begin
cfFormat := CF_HDROP;
ptd := nil;
dwAspect := DVASPECT_CONTENT;
lindex := -1;
tymed := TYMED_HGLOBAL;
end;
Result := lpdobj.GetData(FormatEtc, StgMedium);
if Failed(Result) then
Exit;
// alle ausgew�hlten Dateien ermitteln
for Idx := 0 to DragQueryFile(StgMedium.hGlobal, $FFFFFFFF, nil, 0) - 1 do
begin
DragQueryFile(StgMedium.hGlobal, Idx, FFileName, SizeOf(FFileName));
// hier k�nnen die Dateinamen eingesammelt werden, z. B.
// StringListe.Add(FFileName);
end;
ReleaseStgMedium(StgMedium);
Result := NOERROR;
end;