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

Вниз

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

 
ford ©   (2010-07-03 01:33) [0]

Добрый день!
попробовал добавить свой пункт в контекстное меню проводника
создав ветку в реестре HKCR\*\Shell\punkt\command
и значение по умолчанию c:\windows\project1.exe "%1"

Project1.exe ничего не делает кроме как выдает мессаджбокс с ParamStr(1)
все вроде работает, но если выделить в проводнике группу файлов,  и выбрать для них пункт контекстного меню, то project1.exe будет запущен для каждого выбранного файла по отдельности
т.е. если я выделяю 100 файлов, то 100 раз запустится программа для каждого файла, в ParamStr(1) будет полное имя этого файла.

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


 
Eraser ©   (2010-07-03 01:50) [1]

http://rouse.drkb.ru/winapi.php#syspopup - автор Rouse.


 
ford ©   (2010-07-03 02:14) [2]


> http://rouse.drkb.ru/winapi.php#syspopup - автор Rouse.

ну во первых пример его нифига не компилируется
хочет модуль GSStorage
он какраз есть архиве по другой ссылке на этой же странице "Работа с Structured Storage."
но в нем есть инклюд {$I debug.inc}
его я найти уже не смог :)

может есть что попроще?


 
sniknik ©   (2010-07-03 11:38) [3]

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

> может есть что попроще?
а что тут сложного вообще?
проверяешь при старте есть ли уже запущенный экземпляр программы, любым способом, их кучи в нете, хотя рекомендовал бы тот, что на мьютексе (вначале), а не сразу и только поиском формы, он побыстрее и не будет разных коллизий с дублями из-за запуска следующей в период когда форма предыдущей еще не создалась.
если есть, и есть параметр берешь его и посылаешь (любым способом, их кучи в нете) запущенной программе, а эту завершаешь (до инициализации/открытия/... форм, их просто не делать).
в общем то и все, первая "поймает" посылки следующих и составит  полный список параметров (в смысле не она, а ты там это запрограмируешь...)



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

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

Наверх




Память: 0.45 MB
Время: 0.003 c
2-1278004485
faiwer
2010-07-01 21:14
2010.09.26
Игнорирование ошибки


15-1277670476
Petr V. Abramov
2010-06-28 00:27
2010.09.26
а почему рыба не клюет в жару?


2-1278037272
novai
2010-07-02 06:21
2010.09.26
Записать содержимое GetMem в файл


6-1226291905
Publ
2008-11-10 07:38
2010.09.26
Скрыть HTTP_REFERRER


2-1277975828
Андрей Воркин
2010-07-01 13:17
2010.09.26
Изменение имени TextEdit в цикле





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский