Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Передача параметров из проводника в приложение Добавлено: 07.05.06 04:16  

Автор вопроса:  _ICE_ | ICQ: 354-671-214 
Каким образом можно связать свою программу с определенным типом файла (это я знаю как, через реестр) и потом иметь возможность получать в программу список файлов, которые пытаются открыть при помощи этой программы (а вот это - проблемма, нигде не могу найти).

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #1 Добавлено: 07.05.06 10:51
Функцию Command не пробовал?

Ответить

Номер ответа: 2
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #2 Добавлено: 07.05.06 16:02
Нет, а какой у нее синтаксис и как использовать? У меня задача - маленькая программка, которую нужно запустить выбрав пункт меню из проводника Windows, и этой программке даже не нужно знать какой файл щелкнули - достаточно будет имени папки, в которой этот файл находится.

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 07.05.06 19:38
от когда с меню прогу клацнули, или клацнули по файлу который ты ассоциировал в Form_Load пихни msgbox Command$ поймёшь что к чему...

Ответить

Номер ответа: 4
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #4 Добавлено: 07.05.06 20:33
Спасибо, сейчас попробую.

Ответить

Номер ответа: 5
Автор ответа:
 Neco



ICQ: 247906854 

Вопросов: 133
Ответов: 882
 Web-сайт: neco.pisem.net
 Профиль | | #5
Добавлено: 07.05.06 21:15
не забудь в реестре помимо пути указать ещё %1

Ответить

Номер ответа: 6
Автор ответа:
 _ICE_



ICQ: 354-671-214 

Вопросов: 18
Ответов: 103
 Профиль | | #6 Добавлено: 08.05.06 00:01
Да, попробовал, все заработало. Но здесь еще один финт: если выбрать открытие для нескольких файлов, то будет открыто столько же экземпляров программы, сколько и файлов. Конечно же можно ловить это и блокировать запуск второго экземпляра, но это же не спортивно... к тому же первый экземпляр получает сообщение только о первом файле из списка. В общем можно ли решить ЭТУ проблемму на уровне реестра? И еще - если один экземпляр программы уже запущен, а будет выбран пункт "Открыть", то как отловить эту ситуацию, чтобы запущенная программа знала о том, что пытаются открыть еще файлы? В общем такая вот задача...

Ответить

Номер ответа: 7
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #7 Добавлено: 11.05.06 14:09
Да, можно. DDE. ПРимеров до ф!га

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 11.05.06 18:57
да никак наверное, в принципе... утот новый экземпляр, должен посмотреть что уже прога запущена, и передать ей команду (путь к файлу) на открытие ещё одного... и потом сам завершиться...

по поводу передачи через DDE, я бы не советовал...

проще всего при запуске проги, взять записать в реестр (или в файл) хендел какого-то текстбокса... остальные экземпляры буду читать этот хендел текстобкса и через SendMessage высылать текст (команду/путь к файлу итп...) этому текстбоксу... а у него в свою очередь будет происходить событие change... это и будет событие для открытия нового файла... просто в реализации, и без всяких таймеров, DDE и прочей фиги :)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам