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

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

Параметры программы [D7, WinXP]


alex_samus ©   (2005-05-08 19:57:00) 

Люди помогите.Мне надо , чтобы у определенных расширений файлов в контекстном меню была возможность открыть их в моей программе и мне соответственно надо получить путь к выделенному файлу , который как я знаю передается программе как параметр, а что делать если я выделяю несколько файлов , ведь должго передаваться несколько параметров?
Если выделить несколко файлов и открыть их то откроется несколько окон программы каждая из которых получит путь к одномуиз файлов
Я делаю так :

var
 reg: TRegistry;
begin
 reg := TRegistry.Create;
 reg.RootKey := HKEY_CLASSES_ROOT;
 reg.LazyWrite := false;
 reg.OpenKey(edit2.Text+'\shell\open\command', true);
 reg.WriteString('', application.ExeName+' %1');
 reg.CloseKey;
 reg.OpenKey(edit2.text+'\DefaultIcon',true);
 reg.WriteString('', application.ExeName+',0');
 reg.CloseKey;
 reg.free;
end;
//В edit2 у меня расширение которое надо зарегистрировать  


Юрий Зотов   (2005-05-09 15:05:00) [1]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=904


Marser   (2005-05-09 00:04:00) [2]

Могу ошибаться, но кажется, это уже вовсе и не реестра проблемы.


alex_samus   (2005-05-08 23:56:00) [3]

Ну, понимаешь этот код работает , но он работает так же как и мой, и он так же как и мой при выделении нескольких файлов открывает несколько окон программы и передает каждому из них по пути, мне надо , чтобы все пути передовалися одному окну программы(наверное все пути должны передаваться , как параметры).


Marser   (2005-05-08 21:13:00) [4]

Вот реально работающий фрагмент:
procedure TForm1.checkreg;
begin
r:=Tregistry.Create;
try
 r.rootkey:=HKEY_CLASSES_ROOT;
   with r do
    begin
     openkey('.mcf',true);
     writestring('','Calculating formula');
     closekey;
     openkey('Calculating formula\Shell\open',true);
     writestring('','Запустити калькулятор');
     closekey;
     openkey('Calculating formula\Shell\open\command',true);
     writestring('', extractfilepath(paramstr(0))+'mcalc.exe %1');
     closekey;
     openkey('Calculating formula\DefaultIcon',true);
     writestring('',extractfilepath(paramstr(0))+'def.ico');
     closekey;
   end;
 finally
  r.Free
 end
end;

Ассоциирует .mcf с экзешником, находящимся рядом в папке.


Наверх

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