Тема: AHK: Эмулирование drag and drop в стороннее приложение через инжект
Тема для обсуждения "Эмулирование drag and drop в стороннее приложение через инжект".
http://forum.script-coding.com/viewtopic.php?id=17667
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Серый форум → Общение → AutoHotkey → AHK: Эмулирование drag and drop в стороннее приложение через инжект
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Тема для обсуждения "Эмулирование drag and drop в стороннее приложение через инжект".
http://forum.script-coding.com/viewtopic.php?id=17667
Это для случаев когда WM_DROPFILES не работает?
Да. Это проверяет эта часть:
if !DllCall("user32\GetProp", "ptr", Hwnd, "str", "OleDropTargetInterface", "ptr")
{
msgbox no OleDropTargetInterface
exitapp
}
Так у тебя же тут выход. А если поддерживается то и WM_DROPFILES сработает?
Так вроде такое уже было на AHK форуме?
Такой проверки я не делал.
А зачем встраивать OleDropTargetInterface, а потом его не использовать, а использовать WM_DROPFILES?
Так вроде такое уже было на AHK форуме?
Было, но без встраивания координат.
А с нулевыми координатами работать будет не везде.
Ну и плюс в том коде постоянно происходил инжект, в чем совершенно нет необходимости.
А зачем встраивать OleDropTargetInterface, а потом его не использовать, а использовать WM_DROPFILES?
Я по твоему ответу решил что это одно и тоже.
Я просто хочу понять, где то не работает WM_DROPFILES, и нужен инжект. Или это ещё один способ drag and drop, функционально не отличный от WM_DROPFILES.
Нет, это абсолютно разные интерфейсы.
Есть какие то случаи когда рекомендуется использовать одно или другое?
В смысле для своей программы?
Можешь тут почитать:
https://www.codeproject.com/Articles/84 … our-Progra
Ясно, WM_DROPFILES устаревший метод. Значит надо использовать оба метода, ведь старые приложения могут не поддерживать OleDropTargetInterface, а новые WM_DROPFILES.
По мне, как то странно выглядит, то что в новом интерфейсе необходим инжект.
А если переносить что то из такого современного стороннего приложения в своё, то в своём тоже надо реализовать интерфейс. Я так понял у тебя описана только отправка.
Значит надо использовать оба метода, ведь старые приложения могут не поддерживать OleDropTargetInterface, а новые WM_DROPFILES
Зачем оба?
Не понимаю чего ты хочешь добиться.
Инжект нужен только для автоматизации отправки в стороннее приложение.
Например если стороннее приложение заранее не известно.
Думаю, если заранее не известно, то не стоит без тестов инжектить.
Так как оно может полететь.
Исправил для поддержки с учетом A_ScreenDPI.
Интересно, что при нескольких десктопах работать не будет.
То есть с одного десктопа на другой не перетащится.
Проверить пока не на чем.
Наверное проблема где-то тут:
https://www.autohotkey.com/boards/viewt … mp;t=67642
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться