Форум: "Потрепаться";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизРазгатка!!! Связь с файлами!!! Найти похожие ветки
← →
Narik © (2004-12-27 10:33) [0]Пусть наша программа Project1.exe будет открывать файлы .loh. Это сделать чуть-чуть посложнее, т.к. необходимо нашу программу "научить" искать эти файлы при щелчке на них. Вот как это делается.
Доработаем мой первый пример. Для этого добавим в каталог реестра .loh подкаталог Shell, в каталог Shell - подкаталог Open, в каталог Open - подкаталог Command. Запишем в значение каталога Command расположение нашей программы + "%1", например C:\Project2.exe "%1". А вот и пример:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Registry, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var Reg: TRegistry;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Reg:= TRegistry.Create;
Reg.RootKey:= HKEY_CLASSES_ROOT;
Reg.CreateKey(".loh");
Reg.CreateKey(".loh\DefaultIcon");
Reg.CreateKey(".loh\Shell");
Reg.CreateKey(".loh\Shell\Open");
Reg.CreateKey(".loh\Shell\Open\Command");
Reg.OpenKey("\.loh\DefaultIcon", true);
Reg.WriteString("","C:\Project1.exe");
Reg.OpenKey("\.loh\Shell\Open\Command", true);
Reg.WriteString("","C:\Project1.exe "%1"");
end;
procedure TForm1.FormCreate(Sender: TObject);
var FileName: string;
begin
if (ParamCount > 0) then
begin
FileName := ParamStr(1);
if ExtractFileExt(FileName)=".loh" then
Memo1.Lines.LoadFromFile(FileName);
end;
end;
end.
Ну как? Все доступно написано?
Желаю удачи!!!
← →
Narik © (2004-12-27 10:35) [1]А что если программа находится не в C:\Project1.exe???
← →
КаПиБаРа © (2004-12-27 10:35) [2]Где прочитал то? Ссылку тож приведи.
← →
Narik © (2004-12-27 10:36) [3]КаПиБаРа: гдето на форуме мне сказали!
← →
Agent13 © (2004-12-27 10:38) [4]Особенно показательно расширение файлов: .loh :) Интересно, что же в них такого хранится...
← →
Narik © (2004-12-27 10:40) [5]КаПиБаРа: хочешь я тебе на e-mail отправлю полную версию! а
← →
Narik © (2004-12-27 10:41) [6]Agent13: это просто пример!
← →
КаПиБаРа © (2004-12-27 10:42) [7]Narik © (27.12.04 10:40) [5]
Не надо. Я в инете подробную статью видел как это делать.
← →
Narik © (2004-12-27 10:43) [8]А что если программа находится не в C:\Project1.exe???
я же незнаю куда юзер сохранит мою программу!
← →
КаПиБаРа © (2004-12-27 10:49) [9]Narik © (27.12.04 10:43) [8]
F1 - ParamStr, Application.ExeName
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.039 c