У меня есть очень длинный список файлов типа .png, расположенный в файле .txt. Можно ли как-нибудь перетащить этот список в работающую программу Windows? Я точно знаю, что эта программа принимает файлы, когда я перетаскиваю их из проводника Windows в запущенное окно. (Объяснение того, как работает перетаскивание, может быть полезным.)

2 ответа2

1

Программы Windows потребляют "сообщения" из операционной системы в цикле обработки сообщений или в обработчике сообщений. Перетаскивание работает на этом уровне - приложение получает сообщение "Входящие перетаскиваемые вещи" - оно находится на том же уровне, что и то, что происходит при нажатии кнопки или изменении размера окна.

Отдельная программа может иметь любое поведение, которое программист создает, и отвечать на сообщение любым удобным для нее способом. Поэтому программист должен будет встроить в свою программу способность понимать текст, который вы перетаскиваете поверх него, и действовать так, как вы его описываете.

Компоненты COM и тому подобное могут подключаться, чтобы добавлять или изменять эти поведения (так что это возможно сделать), но стандартная стандартная Windows AFAIK не делает этого или предоставляет любую такую утилиту, которая делает перетаскивание похожим на Вы описываете. Я не знаю утилиты, которая обеспечивает это.

Что-то подсказывает мне, что gvim или другой текстовый редактор с поддержкой скриптов могут это сделать.

Если ваш список файлов разделен символами новой строки, и вы можете заменить эти символы новой строки пробелом, вы можете преобразовать его в список файлов, разделенных пробелами, и использовать cmd.exe для вызова исполняемого файла команды с помощью списка файлов в качестве аргументов. вручную.

0

Приложение должно иметь возможность для анализа отброшенного текста.

Удаление файла дает ему конкретную ссылку для работы - он может начать искать внутри файла, посмотреть, справится ли он с чем-то, а затем разобраться с этим соответствующим образом.

Отбрасывая текст, он должен «знать», как обращаться с текстом - совершенно другая проблема.
Текст может быть ссылкой на файл, начальный файл:// или URL, http:// ... или это может быть просто имя mypic.png
Он сможет обрабатывать первые 2 как установленные протоколы, но что он будет делать с mypic.png? Это не файл PNG, просто название одного. Он не знает, с чего начать, чтобы найти, где он должен быть; если такой файл существует на вашем локальном компьютере или где-то на веб-сайте.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .