Как перетащить список файлов в окно
У меня есть очень длинный список файлов типа.png, расположенный в файле.txt. Можно ли перетащить этот список в работающую программу Windows? Я точно знаю, что эта программа принимает файлы, когда я перетаскиваю их из проводника Windows в запущенное окно. (Объяснение того, как работает перетаскивание, может быть полезным.)
2 ответа
Программы Windows потребляют "сообщения" из операционной системы в цикле обработки сообщений или в обработчике сообщений. Перетаскивание работает на этом уровне - приложение получает сообщение "Входящие перетаскиваемые вещи" - оно находится на том же уровне, что и то, что происходит при нажатии кнопки или изменении размера окна.
Отдельная программа может иметь любое поведение, которое программист создает, и отвечать на сообщение любым удобным для нее способом. Поэтому программист должен будет встроить в свою программу способность понимать текст, который вы перетаскиваете поверх него, и действовать так, как вы его описываете.
COM-компоненты и тому подобное могут подключаться, чтобы добавлять или изменять эти поведения (так что это возможно сделать), но стандартная стандартная Windows AFAIK не делает этого или предоставляет любую такую утилиту, которая делает перетаскивание похожим на Вы описываете. Я не знаю утилиты, которая обеспечивает это.
Что-то говорит мне gvim
или другой текстовый редактор с поддержкой сценариев может сделать это все же.
Если ваш список файлов разделен новыми строками, и вы можете заменить эти новые строки пробелом, вы можете преобразовать его в разделенный пробелами список файлов и использовать cmd.exe
вызвать исполняемый файл команды с список файлов в качестве аргументов вручную.
Приложение должно иметь возможность анализировать отброшенный текст.
Удаление файла дает ему конкретную ссылку для работы - он может начать заглядывать внутрь файла, посмотреть, сможет ли он что-то с ним обработать, а затем разобраться с ним надлежащим образом.
Отбрасывая текст, он должен "знать", как обращаться с текстом - совершенно другая проблема.
Текст может быть ссылкой на файл, начальный файл:// или URL, http:// ... или это может быть просто имя mypic.png
Он сможет обрабатывать первые 2 как установленные протоколы, но что он будет делать с mypic.png? Это не файл PNG, просто название одного. Он не знает, с чего начать, чтобы найти, где он должен быть; если такой файл существует на вашем локальном компьютере или где-то на веб-сайте.