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

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

Как сделать, чтобы прои нажатии на файл с нужным расширением [D6, WinXP]


maxXP ©   (2003-12-19 18:21:00) 

Мне нужно было зарегестрировать расширение на мою программу.
Т.к. в незнаю как реальзовать в делфи использовал *.vbs
set fso=createobject("scripting.filesystemobject")
set dir=fso.getfile(wscript.scriptfullname)
set shell=wscript.createobject("wscript.shell")
dir=left(dir,len(dir)-11)
shell.regwrite "HKCR\.mmf\shell\open\command\", dir+"Traymon32 %1"
shell.regwrite "HKCR\.mmf\DefaultIcon\", dir+"Traymon32.exe,0"
wscript.echo " Расширение .mmf было зарегистрировано для программы Traymon32"


И теперь стоит только 1 вопрос, как сделать, чтобы при нажатии на файл с нужным расширением программа не только открывалась, но и загружала в себя этот файл.
Файл текстовый и загружается в Memo.


Эли   (2003-12-20 11:02:00) [1]

Удалено модератором
Примечание: Вопросы в своей ветке.


Эли   (2003-12-19 22:28:00) [2]

Удалено модератором
Примечание: Вопросы в своей ветке.


Dred2k   (2003-12-19 20:39:00) [3]

Ниже код на дельфи. AppOpenParams - строка параметров, которая будет передана в приложение при запуске. В ней на месте %1 будет подставлено имя твоего файлика при запуске ;)

== cut ==
function AppRegisterFileType(Ext : String; AppName : String; AppDesc : String; AppEXE : String; AppOpenParams : String; IconID : Integer) : Boolean;
var tmpReg : TRegistry;
begin
tmpReg := TRegistry.Create;
try
try
with tmpReg do begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey(Ext, True);
WriteString("", AppName);
CloseKey;
OpenKey(AppName, True);
WriteString("", AppDesc);
CloseKey;
OpenKey(AppName + "\Shell\Open\Command", True);
WriteString("", AppEXE + " " + AppOpenParams);
CloseKey;
OpenKey(AppName + "\DefaultIcon", True);
WriteString("", AppEXE + "," + IntToStr(IconID));
CloseKey;
end;
Result := True;
except
Result := False;
end;
finally
tmpReg.Free;
end;
end;
== cut ==


Сергей Резников   (2003-12-19 18:31:00) [4]

Обрабатывай параметры ком. строки в проге.


Наверх

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