Guten Morgen,
ich versuche momentan in den Programm WoodWop das Drag & Drop zu simulieren bzw zu Automatisieren, leider stehe ich grade vor den Problem das das Programm anscheind IDropTarget verwendet. Und ich es so mit der Function :
Code
Func DoDropFiles($wnd, $Files)
$dummy = DllStructCreate("int offset;int px;int py;byte fNC[1];byte fWide[1]")
$hGlobal = _MemGlobalAlloc(DllStructGetSize($dummy) + StringLen($Files) + 2)
$pDropFiles = _MemGlobalLock($hGlobal)
;create the struct in this memory
$DropFiles = DllStructCreate("int offset;int px;int py;byte fNC[1];byte fWide[1];char filelist[" & StringLen($Files) + 2 & "]", $pDropFiles)
DllStructSetData($DropFiles, "offset", DllStructGetSize($dummy))
$dummy = 0; done its job
DllStructSetData($DropFiles, "px", 300);tried setting a point inside Notepad
DllStructSetData($DropFiles, "py", 300);but it makes no difference
DllStructSetData($DropFiles, "fwide", 0)
DllStructSetData($DropFiles, "fNC", 0)
DllStructSetData($DropFiles, "filelist", $Files)
;set the nulls in place of the separaters
$Size = 0;
$Files = StringSplit($Files, "|")
For $I = 1 To $Files[0]
;// number of characters per string (as ANSI) plus one #0 terminator
;Inc(Size, Length(Files[I]) + 1);
$Size += StringLen($Files[$I]) + 1
DllStructSetData($DropFiles, "filelist", 0, $Size)
Next
ConsoleWrite(DllStructGetData($DropFiles, "filelist") & @CRLF)
;now add the extra null to terminate the list of strings
DllStructSetData($DropFiles, "filelist", 0, $Size + 1)
_MemGlobalUnlock($hGlobal)
_WinAPI_PostMessage($wnd, $WM_DROPFILES, $hGlobal, 0);
_MemGlobalFree($hGlobal)
EndFunc ;==>DoDropFiles
Alles anzeigen
Nicht angesprochen bekomme. Ich wollte mal nachfragen ob wer von euch eine Lösung kennt. Optimaler weise ohne die Maus zu nutzen^^