Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Регистрация расширения в реестре


aslanbek ©   (2008-10-09 12:08:00) 

Мне надо чтоб при нажатии на файл с расширением .auc запускалась моя программа audit.exe.  Предполагаю что расширение и программа должны быть зарегистрированы в реесте?

Каким путем это можно сделать?


Anatoly Podgoretsky   (2008-10-09 13:41:00) [1]

> Ega23  (09.10.2008 13:30:17)  [17]

50, а потом на пенсию


Ega23   (2008-10-09 13:30:00) [2]


> какой же не внимательный я,


Не переживай, это только первые 20 лет тяжело...   :)


aslanbek   (2008-10-09 13:28:00) [3]

))


Сергей М.   (2008-10-09 13:20:00) [4]


> aslanbek   (09.10.08 13:16) [12]


Не быть тебе, солдат, генералом - читать не умеешь и не хочешь)

Сравни

RegisterExtension('AUD',

и

RegisterExtension('.AUD',

найди отличия)


aslanbek   (2008-10-09 13:20:00) [5]

работает  СПАСИБО


aslanbek   (2008-10-09 13:19:00) [6]

я понял свою ошибку 'AUD' без точки, какой же не внимательный я, Спасибо вам  огромное Ega23 и Сергей


aslanbek   (2008-10-09 13:16:00) [7]

RegisterExtension('.AUD', 'C:\table_form_100.00\table_form_100.00.exe')

все равно не получается


Сергей М.   (2008-10-09 13:08:00) [8]


> Не работает, интересно  почему?
>



> RegisterExtension('AUD', ' С:\чер-то что и сбоку бантик\table_form_100.00.exe')


aslanbek   (2008-10-09 13:07:00) [9]

нет с этим разобрался,  компилятор не ругается, но при срабатывании ничего ни изменилось, нажимаю на файлы с расширением '.aud', не распознается.


Ega23   (2008-10-09 13:05:00) [10]


> а что надо добавить подскажите, я новичек


Ну тут всё просто. Компилятор ругается на какую-то строчку, что-то говорит. Например Undeclared identifier 'TRegistry'
Становишься на этот самый TRegistryб жмёшь F1. Тебе выдаётся справка, где, в частности, написано имя юнита, в котором данный тип описан.


aslanbek   (2008-10-09 13:03:00) [11]

Procedure RegisterExtension(const Extension, AppName : string ) ;
begin
with TRegistry.Create do
try
    RootKey := HKEY_CLASSES_ROOT ;
    LazyWrite := False ;
    try
      OpenKey('.'+Extension,True) ;
      WriteString('',AppName) ;
      CloseKey ;
      CreateKey(AppName) ;
      CreateKey(AppName+'\Shell') ;
      OpenKey(AppName+'\Shell\Open',True) ;
      WriteString('','&Open') ;
      CloseKey ;
      OpenKey(AppName+'\Shell\Open\Command',True) ;
      WriteString('','C:\table_form_100.00\'+' %1') ;
    except
        Raise ;
    end ;
 finally
  CloseKey ;
   Free ;
end ;
end ;

procedure TForm1.Button1Click(Sender: TObject);
begin
RegisterExtension('.AUD', 'table_form_100.00.exe')
end;

Не работает, интересно  почему?


aslanbek   (2008-10-09 13:01:00) [12]

кажется нашел Registry


aslanbek   (2008-10-09 13:00:00) [13]

а что надо добавить подскажите, я новичек


Ega23   (2008-10-09 12:54:00) [14]


> Не берет может в uses надо что то добавить?
>


Определённо.


aslanbek   (2008-10-09 12:53:00) [15]

Не берет может в uses надо что то добавить?


aslanbek   (2008-10-09 12:49:00) [16]

SPASIBO! ЩАсь проверю,


Ega23   (2008-10-09 12:41:00) [17]

Вот где-то когда-то на просторах инета нашёл. На всякий пожарный сохранил. Не проверял. За что купил - за то и продаю:



всё неправильно...
Procedure RegisterExtension(const Extension, AppName : string ) ;
begin
 with TRegistry.Create do
 try
     RootKey := HKEY_CLASSES_ROOT ;
     LazyWrite := False ;
     try
       OpenKey('.'+Extension,True) ;
       WriteString('',AppName) ;
       CloseKey ;
       CreateKey(AppName) ;
       CreateKey(AppName+'\Shell') ;
       OpenKey(AppName+'\Shell\Open',True) ;
       WriteString('','&Open') ;
       CloseKey ;
       OpenKey(AppName+'\Shell\Open\Command',True) ;
       WriteString('',[Полный путь к приложению]+' %1') ;
     except
         Raise ;
     end ;
  finally
   CloseKey ;
    Free ;
 end ;
end ;

Это без иконок без всего.....нужно расставить проверки...вобще сама концепция...писал
от руки...синтаксис не проверял..


Сергей М.   (2008-10-09 12:15:00) [18]

http://www.assalom.com/tag/sistemnyj-reestr


Наверх

Титульная страница Поиск, карта сайта Написать письмо