Страница: 1 |
Страница: 1 |
Вопрос: Ассоциация программы с файлом!
Добавлено: 26.02.08 15:11
Автор вопроса: Игорь | ICQ: 457394129
Люди подскажите как можно ассоцеировать файл с программой? Но так, чтобы программа не просто запускалась, но и открывала в себе открываемый файл?
Ответы
Всего ответов: 12
Номер ответа: 1
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #1
Добавлено: 26.02.08 15:15
ассоциировать файл:
http://vbnet.ru/faq/showtopic.asp?id=188
а открывать, обрабатывай параметры коммандной строки( функция command), при запуске документа туда будт сброшен полный путь до документа который открывается. вот и всё.
ЗЫ. эта тема обсуждалась и не раз, так что поиск тебе в руки.
Номер ответа: 2
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #2
Добавлено: 26.02.08 17:50
Спасибо зуммер за помощь-файл я смог открыть. Но теперь столкнулся с такой проблемой-когда я открываю файл-запускается прога и он открывается, а когда открываю другой файл-он открывается уже в другой копии программы. Как сделать чтобы все файлы открывались в одной проге, потомучто если поставить ограничение количества запущенных копий, то просто файлы не открываются!
Номер ответа: 3
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #3
Добавлено: 26.02.08 19:16
с этим уже сложнее... можно попробовать использовать DDE (http://vbnet.ru/faq/showtopic.asp?id=415)
Правда честноговоря у меня сомнения что удастся реализоавть обе части в одном проекте.
Можно в качестве изврашения попытатся послыать уже запущенному окну клавиши.
Номер ответа: 4
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #4
Добавлено: 26.02.08 20:06
Можно про всё по подробнее )
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 26.02.08 20:25
Ассоциировать файл не на основную программу, а на вспомогательную, которая будет заниматься разруливанием ситуаций когда основная программа уже открыта, и надо открыть файл не в копии программы, а в той что уже открыта.
Про механизмы взаимодействия программ - отдельная тема. Можно и с помощью DDE, как советовал ZoomerSD, но я бы советовал использовать более классические способы взаимодействия, такие как мютексы, симафоры, шаредмэмори...
Номер ответа: 6
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #6
Добавлено: 26.02.08 20:31
"Ассоциировать файл не на основную программу, а на вспомогательную, которая будет заниматься разруливанием ситуаций когда основная программа уже открыта, и надо открыть файл не в копии программы, а в той что уже открыта."
Ну дело то в том, что я хочу запускать все файлы в одной программе, а получается так, что при открывании каждого нового файла-открывается новая копия!
Номер ответа: 7
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #7
Добавлено: 26.02.08 20:31
Номер ответа: 8
Автор ответа:
ZoomerSD
ICQ: 148640473
Вопросов: 135
Ответов: 270
Профиль | | #8
Добавлено: 26.02.08 20:34
он это и имел в виду. напиши вспомогательную программу, с которой ассоциируеш расширение, пускай она проверяет, запущено ли уже главное приложение, если нет то запускает его с файлом в качестве параметра, если запущено то одним из способов передаёт ему путь до файла, который надо открыть.
Номер ответа: 9
Автор ответа:
Игорь
ICQ: 457394129
Вопросов: 52
Ответов: 133
Профиль | | #9
Добавлено: 26.02.08 20:56
Тут опять несостыковочка выходит: толку мне от вспомогательной проги, если при каждом новом открытом файле она тоже буден запускаться ещё раз?
Номер ответа: 10
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #10
Добавлено: 26.02.08 20:59
Стукни мне в асю, я недавно для Rascal'а писал модуль подобный.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 26.02.08 21:08
Номер ответа: 12
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #12
Добавлено: 26.02.08 21:10