![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Здравствуйте! Не подскажете как заставить файлы (текст, графика) автоматически по щелчку из windows открываться программой на delphi (текст, графика). Везде смотрел, именно этого нигде не нашел. Заранее спасибо
|
#2
|
|||
|
|||
![]() Если программа на Delphi умеет открывать файлы, то дальше вопрос к Windows.
Открывается проводник. Меню "Сервис" > "Свойства папки...". В открывшемся диалоге закладка "Типы файлов". Из списка выбирается нужное расширение (или добавляется свое, если такого расширения в списке нет). Нажимается кнопка "Изменить". В диалоге через кнопку "Обзор..." указывается программа на Delphi. Не забывайте делать резервные копии |
#3
|
||||
|
||||
![]() Можно сразу в Delphi
Создаешь раздел в реестре HKEY_CLASSES_ROOT\{твое расширение} Далее значение по умолчнию - это описание файла HKEY_CLASSES_ROOT\{твое расширение}\DefaultIcon Значение по умолчнию - иконка файла HKEY_CLASSES_ROOT\{твое расширение}\shell\open\command Значение по умолчанию - путь к программе Пример Код:
uses Registry; procedure RegisterMyFileType(Ext, Description, Icon, ExePath: String); begin with TRegistry.Create do begin RootKey:=HKEY_CLASSES_ROOT; OpenKey(Ext, True); WriteString('', Description); CloseKey; OpenKey(Ext + '\DefaultIcon', True); WriteString('', Icon); CloseKey; OpenKey(Ext + '\shell\open\command', True); WriteString('', ExePath); CloseKey; Free; end; end; Код:
RegisterMyFileType('.txt', 'Текстовый файл', Application.ExeName + ', 0', Application.ExeName + ' %1'); Что делать, когда сломался комп: 1. Если вы юзер - делать ноги. 2. Если ремонтник - делать деньги. 3. Если вы программист - делать вид, что так было задумано. |
#4
|
||||
|
||||
![]() В догонку к ответу, программа открываться то будет, но неизвестно какой файл открывать. В FormCreate получи значение ParamStr(1) и это будет путь к твоему файлу.
PS> Ещё как вариант: Суть такая же, мы регистрируем за собой определённый тип файла и потом при открытии его, делаем необходимую обработку. Но уже через Com объект. В этом случае будет больше возможностей, но сложнее реализация) Нет повести печальнее на свете, чем повесть о заклиневшем Resete. ![]() |
#5
|
|||
|
|||
![]() Я сейчас тоже решаю эту задачу . Можете объяснить , что это за ParamStr(1) и как его получать?
|
#6
|
|||
|
|||
![]() Командная строка которая передается на вход программе.
Например ParamStr(0) - это путь к твоей проге. |