Тема: AHK: dropfiles в активное "подокно" программы
Добрый день необходимо дропнуть файл в "подокно" программы.
К примеру, открыт photoshop, в нем открыт документ. Дроп в Photoshop выполняет код ниже.
Как реализовать дроп именно в выбранный документ?
открытый документ = Untitled-1 @ 25% (RGB/8)
Winactivate , Adobe Photoshop
existPath = D:\блабла\img_0001
DropFiles( existPath ".png", "Untitled-1 @ 25% (RGB/8)" )
DropFiles(ByRef fileList, windowTitle := "", ctrl := "", x := 0, y := 0, NCA := 0)
{
offset := 20
VarSetCapacity(dropFiles, StrLen(fileList) + offset, 0)
pDP := &dropFiles
loop, parse, fileList, `n, `r
StrPut(A_LoopField, pDP + offset, StrLen(A_LoopField), "CP0")
, offset += StrLen(A_LoopField) + 4
, NumPut(0, pDP + offset - 4, "UInt")
NumPut(0, pDP + offset, "UInt")
NumPut(20, pDP + 0, "UInt")
NumPut(x, pDP + 4, "UInt")
NumPut(y, pDP + 8, "UInt")
NumPut(NCA, pDP + 12, "UInt")
NumPut(0, pDP + 16, "UInt")
nSize := offset + 4
hDrop := DllCall("GlobalAlloc", "UInt", 0x42, "UInt", nSize, "Ptr")
pData := DllCall("GlobalLock", "Ptr", hDrop, "Ptr")
DllCall("RtlMoveMemory", "Ptr", pData, "Ptr", pDP, "UInt", nSize)
DllCall("GlobalUnlock", "Ptr", hDrop)
PostMessage, 0x233, hDrop, 0, %ctrl%, %windowTitle%
}

