Главная страница
    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.006 c
15-1221830990
AlexDan
2008-09-19 17:29
2008.11.16
Книга..


4-1200294141
MOZG
2008-01-14 10:02
2008.11.16
Error EOSError 1400


2-1223388590
ВитаминС
2008-10-07 18:09
2008.11.16
Вопрос про THotKey


15-1221562788
desc
2008-09-16 14:59
2008.11.16
Как в Dll работать с набором данных ?


15-1221824595
Jeer
2008-09-19 15:43
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский