Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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.47 MB
Время: 0.039 c
11-1085207753
Денис
2004-05-22 10:35
2005.01.16
проблемы с KOLClasses


11-1085755191
Grey
2004-05-28 18:39
2005.01.16
AutoSize...


4-1101570433
Георгий
2004-11-27 18:47
2005.01.16
автоматическое выключение компъютера


1-1104217745
Cosinus
2004-12-28 10:09
2005.01.16
Как в IE определяет, что под курсором именно картинка?


14-1104073570
Михайло
2004-12-26 18:06
2005.01.16
Где в Самаре





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский