2017-02-21 11 views
-2

Я ищу документ о том, как подключить функцию IDropTarget :: Drop. Я хотел бы добавить свою dll в целевое приложение в качестве плагина и перехватить функцию IDropTarget :: Drop, чтобы получить отброшенные файлы. Есть ли кто-нибудь, кто уже сделал аналогичную реализацию?Как подключить IDropTarget :: Drop

ответ

-1

Возможно, вам придется взять на себя регистрацию в реестре, чтобы Windows вместо этого активировала ваше приложение. Затем вам нужно будет запустить реальное приложение и вручную подключиться к реальному приложению после того, как оно вызвало CoRegisterClassObject и переместило его на него. Это не начинающий COM-материал и касается только капель на .exe и запусках его зарегистрированных типов файлов. Чтобы справиться с капельками в окне приложений, вы также должны были ввести .dll в том месте, где вы вызываете CreateProcess на реальном приложении. Вы также должны учитывать тот факт, что приложение может использовать старый WM_DROPFILES.

Это очень сложно и даже если вы можете заставить все это работать, оно все равно не будет обрабатывать случай, когда пользователь запускает приложение из меню «Пуск», а затем удаляет файлы в окне. Чтобы справиться с этим сценарием, вам также нужно зарегистрировать себя в качестве отладчика для него в ключе Image File Execution Options, чтобы вы могли ввести вашу .dll.

В этот момент мы далеко в «злую» территорию. Таким образом, недопустимо обходить другие приложения.

Ваш единственный реальный вариант - попросить авторов, если они могут добавить поддержку приложения в приложение.