Главная страница
    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.48 MB
Время: 0.006 c
2-1223206467
ЛамоРщщук
2008-10-05 15:34
2008.11.16
Как найти все главные Окна и распредилить их по заголовку ?


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


15-1221554711
melehov
2008-09-16 12:45
2008.11.16
Самоцель:создать БД для себя и всеобщего пользования сотрудников


2-1223031850
workbench
2008-10-03 15:04
2008.11.16
выделение текста


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