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

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

Автооткрытие


AXe ©   (2002-09-26 20:03:00) 

Я хочу, чтобы после щелчке на определённом типе файлов, автоматически открывалась моя прога, и в ней автоматическиоткрывался этот файл.


Rouse_   (2002-09-27 02:09:00) [1]

Эти грабли обходятся именно в приведенном мной коде т.к.
в строке reg.WriteString("",exepfad+" "%1"");
параметр %1 - заключен в двойные кавычки - это значит что
"Мои документы" будут равняться именно Мои документы а не Мои

Желаю удачи


Kotka   (2002-09-26 23:44:00) [2]

> . (26.09.02 22:19)
хотеть много можно

это абсолютно естественное желание!!!

>AXe (26.09.02 20:03)

Есть одни грабли: если в пути к файлу есть пробелы, по параметров (paramstr) становится больше, чем одно
Например:
путь c:\мои документы\файл.exe
в paramstr будет выглядеть так:
paramstr(1)="c:\мои"
paramstr(2)="документы\файл.exe"
т.е. нужно учитывать paramcount!


Rouse_   (2002-09-26 22:51:00) [3]

procedure TForm1.RegisterFileType(prefix:String; exepfad:String);
var
reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.RootKey:=HKEY_CLASSES_ROOT;
reg.OpenKey("."+prefix,True);
reg.WriteString("",prefix+"file");
reg.CloseKey;
reg.CreateKey(prefix+"file"); //
reg.OpenKey(prefix+"file\DefaultIcon",True);
reg.WriteString("",exepfad+",0");
reg.CloseKey;
reg.OpenKey(prefix+"file\shell\open\command",True);
reg.WriteString("",exepfad+" "%1"");
reg.CloseKey;
reg.Free;
end;

Этот код регистрирует определенное расширение за вашей программой

Желаю успехов


.   (2002-09-26 22:19:00) [4]

хотеть много можно
paramstr()+regedit


Наверх

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