Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2018.10.07;
Скачать: [xml.tar.bz2];

Вниз

Контекстное меню проводника   Найти похожие ветки 

 
ford ©   (2016-08-26 09:50) [0]

Доброго времени суток!
Хочу добавить в контекстное меню проводника возможность открывать свою программу и передать ей выделенные в проводнике файлы в качестве параметра(ов). Нашел что можно для типа фалов установить свою команду в реестре. Так и сделал:
HKEY_CLASSES_ROOT\FoxitReader.Document\Shell\contmenu\command
в дефолт парамере прописал свою программку и праметр %1
все ОК, но для одного файла.
Если я выбираю в проводнике группу файлов и взываю этот пункт из контекстного меню, то открывается столько копий моей программы, сколько я выбрал файлов.
Как сделать, чтобы при выборе в проводнике группы файлов, и запуске пункта контекстного меню, программа открывалась в одном экземпляре и файлы передавались туда списком?
Нашел что можно как-то через меню SendTо, но как? как программа получит этот список файлов? через drag"N"drop?
Подскажите плииз.


 
sniknik ©   (2016-08-26 11:49) [1]

> файлы передавались туда списком?
при получении параметра проверяй на наличие уже запущенной копии программы и посылай имя файла туда.
> SendTо
можно так
SendMessage(RunProgramHandle, WM_COPYDATA, 0, LParam(@name));


 
sniknik ©   (2016-08-26 11:51) [2]

> посылай имя файла туда.
собственно в программе (запущенной копии) должен быть "приемник" в котором формируется список. все плейеры так работают (ИМХО, других не видел).


 
KSergey ©   (2016-08-26 13:10) [3]

> sniknik ©   (26.08.16 11:49) [1]
> > файлы передавались туда списком?
> при получении параметра проверяй на наличие уже запущенной
> копии программы и посылай имя файла туда.

Вариант интересный.
Правда есть нюанс: для плейеров - да, достаточно всё в один список пихать.
А вот для e-mail клиента, например, нужно уметь разделять списки "отправленных в него" файлов. Т.е. выделил группу файлов - по ним одно письмо открылось с вложением; выделил другую группу - другое письмо должно суметь сформироваться.

По делу - не знаю что ответить.


 
ford ©   (2016-08-26 14:24) [4]

Сделал как подсказал
>>sniknik ©   (26.08.16 11:49) [1]

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2018.10.07;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.001 c
2-1472222559
Дмитрий
2016-08-26 17:42
2018.10.07
DBGridEh не хочет отображать галочку в поле TINYINT(1) MySQL


2-1471607982
Andrey K
2016-08-19 14:59
2018.10.07
Соединение по локальной сети


15-1474925401
Юрий
2016-09-27 00:30
2018.10.07
С днем рождения ! 27 сентября 2016 вторник


2-1472194254
ford
2016-08-26 09:50
2018.10.07
Контекстное меню проводника


2-1471845533
Andrey K
2016-08-22 08:58
2018.10.07
Помогите разобраться с сетевым подключением.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский