Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.11.16;
Скачать: CL | DM;

Вниз

Регистрация расширения в реестре   Найти похожие ветки 

 
aslanbek   (2008-10-09 12:08) [0]

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

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


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

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


 
Ega23 ©   (2008-10-09 12:41) [2]

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



всё неправильно...
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 ;

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



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

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


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

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


 
Ega23 ©   (2008-10-09 12:54) [5]


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


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


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

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


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

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


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

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;

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


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


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


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


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

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


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


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



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


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

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

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


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

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


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

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


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


> aslanbek   (09.10.08 13:16) [12]


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

Сравни

RegisterExtension("AUD",

и

RegisterExtension(".AUD",

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


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

))


 
Ega23 ©   (2008-10-09 13:30) [17]


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


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


 
Anatoly Podgoretsky ©   (2008-10-09 13:41) [18]

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

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



Страницы: 1 вся ветка

Текущий архив: 2008.11.16;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.014 c
2-1223525110
vegarulez
2008-10-09 08:05
2008.11.16
Вопрос про TTimer.


15-1221660686
Пробежал...
2008-09-17 18:11
2008.11.16
Какие все таки отличия между D2007 Prof и Enterprise?


2-1223285035
123-ий
2008-10-06 13:23
2008.11.16
Вопрос по Dfm файлу


2-1223103815
Smel
2008-10-04 11:03
2008.11.16
beginthread


15-1221632309
vajo
2008-09-17 10:18
2008.11.16
Почему-то перегружается ноутбук