![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать, чтобы прои нажатии на файл с нужным расширением [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]
Обрабатывай параметры ком. строки в проге.