1 (изменено: Malcev, 2023-03-12 07:12:20)

Тема: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Тема для обсуждения "Эмулирование drag and drop в стороннее приложение через инжект".
http://forum.script-coding.com/viewtopic.php?id=17667

2

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Это для случаев когда WM_DROPFILES не работает?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

3

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Да. Это проверяет эта часть:

   if !DllCall("user32\GetProp", "ptr", Hwnd, "str", "OleDropTargetInterface", "ptr")
   {
      msgbox no OleDropTargetInterface
      exitapp
   }

4

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Так у тебя же тут выход. А если поддерживается то и WM_DROPFILES сработает?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

5

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Так вроде такое уже было на AHK форуме?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Такой проверки я не делал.
А зачем встраивать OleDropTargetInterface, а потом его не использовать, а использовать  WM_DROPFILES?

7 (изменено: Malcev, 2021-01-24 16:10:30)

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

teadrinker пишет:

Так вроде такое уже было на AHK форуме?

Было, но без встраивания координат.
А с нулевыми координатами работать будет не везде.
Ну и плюс в том коде постоянно происходил инжект, в чем совершенно нет необходимости.

8

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Malcev пишет:

А зачем встраивать OleDropTargetInterface, а потом его не использовать, а использовать WM_DROPFILES?

Я по твоему ответу решил что это одно и тоже.

Я просто хочу понять, где то не работает WM_DROPFILES, и нужен инжект. Или это ещё один способ drag and drop, функционально не отличный от WM_DROPFILES.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

9

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Нет, это абсолютно разные интерфейсы.

10

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Есть какие то случаи когда рекомендуется использовать одно или другое?

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

11

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

В смысле для своей программы?

12

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Можешь тут почитать:
https://www.codeproject.com/Articles/84 … our-Progra

13

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Ясно, WM_DROPFILES устаревший метод. Значит надо использовать оба метода, ведь старые приложения могут не поддерживать OleDropTargetInterface, а новые WM_DROPFILES.
По мне, как то странно выглядит, то что в новом интерфейсе необходим инжект.
А если переносить что то из такого современного стороннего приложения в своё, то в своём тоже надо реализовать интерфейс. Я так понял у тебя описана только отправка.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

14

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

serzh82saratov пишет:

Значит надо использовать оба метода, ведь старые приложения могут не поддерживать OleDropTargetInterface, а новые WM_DROPFILES

Зачем оба?
Не понимаю чего ты хочешь добиться.
Инжект нужен только для автоматизации отправки в стороннее приложение.

15

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Например если стороннее приложение заранее не известно.

По вопросам возмездной помощи пишите на E-Mail: serzh82saratov@mail.ru Telegram: https://t.me/sergiol982
Win10x64 AhkSpy, Hotkey, ClockGui

16

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Думаю, если заранее не известно, то не стоит без тестов инжектить.
Так как оно может полететь.

17

Re: AHK: Эмулирование drag and drop в стороннее приложение через инжект

Исправил для поддержки с учетом A_ScreenDPI.
Интересно, что при нескольких десктопах работать не будет.
То есть с одного десктопа на другой не перетащится.
Проверить пока не на чем.
Наверное проблема где-то тут:
https://www.autohotkey.com/boards/viewt … mp;t=67642