![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Xonxt |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 24.1.2006 Где: Украина / Одесса Репутация: 1 Всего: 1 |
Доброе время суток.
Суть вот в чем. Есть некоторое приложение, которое должно встраиваться в контекстное меню проводника Windows. Т.е. пользователь кликает правой кнопкой по файлу, выбирает некий пункт меню, запускается приложение и делает что-то с этим файлом. Сначала я добавил пункт в контекстное меню через реестр:
Далее пишется программа. Функция Main в Program.cs выглядит так:
Если делать это через командную строку. Ну т.е.
Я погуглил и нашел, что надо для каждого запуска проверять, запущено ли уже приложение, и если да, то отправлять ему сообщение с этим аргументом и закрывать ненужную копию приложения. Прежде чем я начал влезать в эти дебри с мьютексами и сообщениями, скажите, нет ли другого более простого способа? Заранее благодарен. Это сообщение отредактировал(а) Xonxt - 6.12.2010, 18:42 |
||||||||||
|
|||||||||||
| CYBERDREAM |
|
||||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
Приветствую Xonxt,
порой в сторону Single Instance Wrapper
Добавлено через 6 минут и 11 секунд Хотя конечно странно что несколько копий запускается. -------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
||||
|
|||||
| Xonxt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 24.1.2006 Где: Украина / Одесса Репутация: 1 Всего: 1 |
Может я здесь в реестре что-то неправильно пишу
Всё-таки "%1" - это я заведомо указываю, что входной аргумент может быть только один. Может есть какой-нибудь другой более правильный способ. Или же проблема решается программированием. |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
а если прописываешь жестко 1 параметр, то как должна отработать программа, если отсылаешь несколько файлов через контекстное меню?
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
| Xonxt |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 24.1.2006 Где: Украина / Одесса Репутация: 1 Всего: 1 |
В общем, решил проблему. Как я и говорил: мьютексами и сообщениями.
Мьютекс следит, чтобы было запущено не более одной копии приложения. Каждая последующая копия приложения отправляет свой входной аргумент в качестве сообщения первому приложению. Всем спасибо. Это сообщение отредактировал(а) Xonxt - 7.12.2010, 02:34 |
|||
|
||||
| CYBERDREAM |
|
|||
![]() I think, there4 I am ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1096 Регистрация: 31.10.2006 Где: CyberLand Репутация: 11 Всего: 28 |
а то что я предлагал разве не проще?
-------------------- Ищем .Net, Java, Javascript разработчиков, Кипр, Лимассол. (знание английского необязательно) Telegram, skype: kuchuk.artiom |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |