Код:
$hGui = GUICreate('WM_DROPFILES', 725, 210, -1, -1, -1, $WS_EX_ACCEPTFILES)
$iEdit = GUICtrlCreateEdit('', 5, 5, 350, 200,'',$WS_EX_TRANSPARENT)
$iEdit2 = GUICtrlCreateEdit('', 370, 5, 350, 200,'',$WS_EX_TRANSPARENT)
GUISetState()
;=====================================================;
GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES")
Do
Until GUIGetMsg() = -3
Func WM_DROPFILES($hwnd, $msg, $wParam, $lParam)
$aCursorInfo = GUIGetCursorInfo($hGui)
Local $aRet = DllCall("shell32.dll", "int", "DragQueryFile", "int", $wParam, "int", -1, "ptr", 0, "int", 0)
Local $sDroppedFiles, $i, $tBuffer = DllStructCreate("char[256]")
For $i = 0 To $aRet[0] - 1
DllCall("shell32.dll", "int", "DragQueryFile", "int", $wParam, "int", $i, "ptr", DllStructGetPtr($tBuffer), "int", DllStructGetSize($tBuffer))
$sDroppedFiles &= DllStructGetData($tBuffer, 1) & @CRLF
Next
DllCall("shell32.dll", "none", "DragFinish", "int", $wParam)
$tBuffer = 0
;=====================================================;
if $aCursorInfo[4] = 3 then
GUICtrlSetData($iEdit, StringTrimRight($sDroppedFiles, 2))
else
GUICtrlSetData($iEdit2, StringTrimRight($sDroppedFiles, 2))
endif
EndFunc
Это часть кода в програмке, действует как и запланировано (принимает файлы в оба окошка) вот только к сожалению я не понимаю что происходит между разделителями (;============;), а использовать части кода без понимания происходящего не хочется, пожалуйсто, вставьте свои комментарии в каждую строку там, заранее благодарю.