![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Всем доброго времени суток!
Задача такая: Создать новый тип файла и ассоциировать его со своей программой. Я сообразил это так: Код:
Долее почитал статейку понял что CLASSES_ROOT не есть хорошо. Переделал: Код:
Прошу пожалуйста, обьяснить почему и как надо привильно делать. Последний раз редактировалось Человек_Борща; 07.03.2011 в 14:02. |
![]() |
![]() |
![]() |
#2 |
Подтвердите свой е-майл
Регистрация: 19.12.2010
Сообщений: 808
|
![]()
Попробуйте вот так:
Регистрация своего типа файлов и пункт в контекстном меню После регистрации расширения система будет открывать такие файлы с помощью указанной программы - т.е. передавать имя файла как параметр и соответственно обработать имя файла можно с помощью ParamsCount + ParamStrКод Код:
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Собственно 2 вопроса:
1. Почему расшрение в HKEY_Classes_root а пункт контекстного меню в HKCU\SoftWare\classes? Ведь слеледуя советам GunSmoker'a(Пример 3) - лучше всего заводить новые расширения в HKCU\SoftWare\Classes(Ссылка в первом сообщении). 2. Если рассматривать что программа закрыта и открывается ассоциированный с ней файл то, программа запускается и загружает файл. А вот если программа уже запущена, и юзер открывает файл не через программу, а через контекстное меню то, как передать этот файл в уже открытую программу? Последний раз редактировалось Человек_Борща; 07.03.2011 в 17:35. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
при использовании контекстного меню, все равно производится запуск того же ассоциированного приложения и уже забота этого приложения читать параметры запуска через paramstr() и обрабатывать нужным образом...
Код:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Ну значится вот что у меня получилось=) И работает!
Пример приаттачил, там же упакованный exe, он то и весит 200 кб=) Единственный оставшийся вопрос, открытие файла из оболочки винды в уже открытой программе. Например как это делает Light Alloy: Условие: 1-а копия программы уже запущена. Сабж: Юзер открывает в оболочке виндов ещё один avi , и вместо того, чтобы открыть новое окно Light Alloy, происходит следующее: Новый файл просто поподает в плей-лист уже рабочей копии. Вопрос: Как такое реализовать у себя? Откуда винды знают об уже запущеной копии программы и передают файл в плей-лист LA? Знающие люди помогите пожалуйста! Последний раз редактировалось Человек_Борща; 07.03.2011 в 20:53. |
![]() |
![]() |
![]() |
#6 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]()
ет реализовываеца при запуске ехе, она проверяет если уже запушеня и передает даные тои ехе, гдет такое было, шечас гляну, если наиду скину сс ылку
----------------------------------------------------------------------------------------------- вот нашел http://programmersforum.ru/showthrea...hlight=listbox
VirusN13
Последний раз редактировалось ArtGrek; 07.03.2011 в 21:45. |
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание нового WAV-файла++ | oren_yastreb | Мультимедиа в Delphi | 0 | 17.10.2010 01:58 |
Ассоциация файлов со своей программой | dmitriegorovih | Общие вопросы Delphi | 7 | 21.08.2010 12:41 |
Выборка и создание нового файла | kzld | Microsoft Office Excel | 15 | 28.12.2009 10:49 |
Delphi. Создание нового класса, его "предков". | Krechet | Помощь студентам | 0 | 26.04.2009 15:52 |
Создание нового типа | master_root | Общие вопросы Delphi | 2 | 02.07.2008 22:33 |