Модераторы: bartram, Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Реестр Windows, Непонятка с "%1" 
V
    Опции темы
Тутанхамец
Дата 19.1.2007, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: нет
Всего: 6



Здравствуйте. У меня есть прога. Я хочу, чтобы она вызывалась через контекстное меню, когда в Проводнике выделены файлы. Вписал прогу в реестр, в меню она появилась и нормально вызывается. 

Прога через командную строку получает список файлов. Но при такой записи в реестре

Код

"c:\MyProg\MyProg.exe %1"


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



PM MAIL   Вверх
dumb
Дата 19.1.2007, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: 15
Всего: 158



при старте своей программы ты должен проверять(например по семафору) наличие уже выполняющейся копии и, если программа уже работает, просто передать ей свой параметр любым доступным методом межпроцессного взаимодействия(IPC).
PM MAIL   Вверх
Тутанхамец
Дата 19.1.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: нет
Всего: 6



Ох, ни фига себе... А без коррекции программы никак? Что означает "%1"? Может быть есть еще какие-то %-параметры?
PM MAIL   Вверх
SergeCpp
Дата 19.1.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 5
Всего: 124



Раздел ddeexec в подразделе с именем команды раздела shell типа файлов
содержит те команды DDE, которые должны использоваться.
Некоторые программы способны воспринимать команды операционной системы
при открытии того или иного типа файлов и, к примеру, открывать их не в новом окне, а в своем подокне.
Это называется Dynamic Data Exchange, DDE - динамический обмен данными.

Verbs and File Associations

Код
[HKEY_CLASSES_ROOT\dllfile\shell]
@="View Dependencies"

[HKEY_CLASSES_ROOT\dllfile\shell\View Dependencies\command]
@="C:\\PROGRA~1\\Util\\depends.exe /dde"

[HKEY_CLASSES_ROOT\dllfile\shell\View Dependencies\ddeexec]
@="[open(\"%1\")]"

[HKEY_CLASSES_ROOT\dllfile\shell\View Dependencies\ddeexec\Application]
@="depends"



Это сообщение отредактировал(а) SergeCpp - 19.1.2007, 13:50
PM MAIL WWW ICQ   Вверх
mihanik
Дата 19.1.2007, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 61
Всего: 109



Тутанхамец!!!


Это же не сложно!!!

В VB6 (по-моему ты на нём пишешь) эта проверка делается парой строк...


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
Тутанхамец
Дата 19.1.2007, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 10.10.2005
Где: в пирамидЕ!

Репутация: нет
Всего: 6



SergeCpp, если я правильно понял, это всё про DDE, а прога моя собственная, про DDE не знает. 

mihanik, не сказал бы, что парой строк. 

dumb, я последовал твоему совету. Создаю мьютекс при старте первого экземпляра, а все прочие экземпляры передают свои параметры первому через WM_DATACOPY. 

Всем спасибо, вопрос закрыт. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Windows"
December
bartram
Akella

Запрещается!

1. Обсуждать взлом и делиться кряками

2. Способствовать созданию и распространению вирусов

  • Для бессмертных бородатых вопросов типа Win vs Nix есть специальный форум Религиозные Войны
  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • ВСЕГДА УКАЗЫВАЙТЕ ВЕРСИЮ ОС

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, December, bartram, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Windows | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.