Hallo zusammen,
ich habe nun einiges gesucht, bekomme es aber nicht hin und würde nun euch um etwas Hilfe bitten.
Ich möchte aus einer Listbox von meiner Anwendung heraus eine Mp3-Datei mit gedrückter linker Maustaste auf einen Mp3-Player (Aimp)
ziehen und der Player soll die Datei dann sofort abspielen.
Dazu habe ich hier nachfolgendes von
SirThornberry gefunden:
Delphi-Quellcode:
function DropFilesOnWnd(AWnd: HWND; AFiles: String): Boolean; overload;
var LInfo: PDragInfoA;
LRes: Boolean;
LHGlobal: Cardinal;
begin
LRes := False;
if copy(AFiles, length(AFiles), 1) <> #0 then
AFiles := AFiles + #0;
LHGlobal := GlobalAlloc(GMEM_SHARE or GMEM_MOVEABLE or GMEM_ZEROINIT, SizeOf(TDragInfoA) + length(AFiles) + 1);
if LHGlobal <> 0 then
begin
LInfo := GlobalLock(LHGlobal);
if LInfo <> nil then
begin
LInfo.uSize := SizeOf(TDragInfoA);
Move(AFiles[1], PChar(Cardinal(LInfo) + LInfo.uSize)^, length(AFiles));
GlobalUnlock(LHGlobal);
LRes := PostMessage(AWnd, WM_DROPFILES, LHGlobal, 0);
end;
if not(LRes) then
GlobalFree(LHGlobal);
end;
result := LRes;
end;
function DropFilesOnWnd(AWnd: HWnd; AFiles: TStringlist): Boolean; overload;
begin
result := DropFilesOnWnd(AWnd, StringReplace(AFiles.Text, #13#10, #0, [rfReplaceAll]));
end;
Den Dateinamen aus der Listbox habe ich.
PChar('"' + IncludeTrailingPathDelimiter(Files[PathAndFilename_Index_Marker]));
Meine Frage:
Wie und wo (im OnDragDrop der Listbox?) muss ich die Funktion genau aufrufen/ übergeben?
Vorab schon mal Danke!