Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.11.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.005 c
2-1223103815
Smel
2008-10-04 11:03
2008.11.16
beginthread


15-1221794968
ganda
2008-09-19 07:29
2008.11.16
BlackfishSQL что за база и с чем её едят!?


2-1222921438
ganda
2008-10-02 08:23
2008.11.16
Сохранение данных в DBF IV


2-1223030545
Alex7
2008-10-03 14:42
2008.11.16
Наследование от главной формы


15-1221991549
Кое кто
2008-09-21 14:05
2008.11.16
Скачивалка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский