![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как открыть файл с помощью моей программы [D7, WinXP]
Sourse © (2004-08-07 20:15:00)Скажите пожалуйста, как открыть файл с помощью программы и, одновременно, открыть файл в этой программе? На первую часть вопроса я ответ знаю. Мне нужно, чтобы программа узнавала какой файл её открывает.
GrayFace (2004-08-13 12:03:00) [1]Где-то тут было это. Кажется, в FAQ.
Работа с реестром: uses Registry, TRegistry+F1 -> Using TRegistry.
Что делать в реестре:
Запускай regedit и смотри:
HKEY_CLASSES_ROOT\.txt\(def)(значение по умолчанию) - ссылка на описание(например 'SourseTXT')
HKEY_CLASSES_ROOT\SourseTXT\(def)- Тип документа ('Текстовый Sourse')
HKEY_CLASSES_ROOT\SourseTXT\DefaultIcon\(Def)- Путь до иконки ('c:\Sourse.exe,0')
HKEY_CLASSES_ROOT\SourseTXT\shell\open\(def)- Название пункта меню (Открыть Sourse). Если не присвоено, будет Openна Англ. винде и Открыть- на Рус.
HKEY_CLASSES_ROOT\SourseTXT\shell\Sourse\(def)- так же, но если не присвоено, то Sourse
HKEY_CLASSES_ROOT\SourseTXT\shell\open\command\(def)- командная строка ('c:\Sourse.exe "%1"')
TUser (2004-08-12 21:44:00) [2]Не думаю, что тут речь о вирусе. Вобщем - подменяй своей прогой ту, которая прописана для данного типа файлов. При клике на иконку файла - читай его и открывай ту прогу, которую ты доблестно лишил права называтсья стандартным эдитором. Только иконку назначь такую же, как раньше была.
OSokin (2004-08-12 20:26:00) [3]Если простые, текстовые файлы - то используй AssignFile. Справку сам найдешь.
wnew (2004-08-07 21:54:00) [4]Упрощённо так:
procedure TForm1.FormCreate(Sender: TObject);
var DateiName: String;
DateiErweiterung: String;
begin
if ParamCount > 0 then
begin
DateiErweiterung := '';
DateiName := ParamStr(1);
DateiErweiterung := UpperCase(Copy(DateiName,Length(DateiName) - 3,4));
if (DateiErweiterung = '.BMP') or (DateiErweiterung = '.JPG') then
begin
Image1.Picture.LoadFromFile(DateiName);
end;
end;
end;
В проводнике Windows, если у тебя XP, кликаешь интересующий тебя файл правой кнопкой, откроется контекстное меню, там выберешь (не знаю, как обзываются эти пункты меню в русском виндовсе, но думаю догадаешься) открыть такой-то прогой:), далее в открывшемся окне нажимаешь искать и ищешь собственную программу, затем ставишь галочку - этот тип файла всегда открывать этой программой. Если у тебя не XP, то держишь Shift и кликаешь правой кнопкой, далее - как описанно выше.
Для того, что бы протестировать передачу параметров командной строки во время отладки (опять не знаю, как будет в английском меню Delphi, у меня немецкая:)) кликаешь Start, выбираешь Parameter и там в поле Parameter вводишь имя файла, далее обычно:)
Anatoly Podgoretsky (2004-08-07 21:38:00) [5]А чего тут понимать явно написано, что надо что бы файл открылся программой и твоей программой. Чисто вирусная технология, как реализовывать естественно рассказывать не буду, как только заразишься, то сам сможешь узнать технологию.
Вася (2004-08-07 21:28:00) [6]Кстати, заразить exeэшник не сложно. Спроси меня как! ;))
Вася (2004-08-07 21:26:00) [7]короче, тебе нужно, чтобы твоя программа запускалась по двойному щелчку на файл определенного типа? Это нужно прописывать в реестре.
Sourse (2004-08-07 21:17:00) [8]Тестировщица © (07.08.04 21:16) [10]
Ну, извините. Спасибо за ответ и разъяснение отдельное спасибо.
Тестировщица (2004-08-07 21:16:00) [9]А мне кажется, что Вы не поняли ответа -)
Дело в том, что при запуске приложения ему в командной строке передается имя файла, по которому Вы соизволили щелкнуть. А для получения командной строки можно использовать ParamStr(1)
Sourse (2004-08-07 21:16:00) [10]Anatoly Podgoretsky © (07.08.04 21:08) [8]
Похоже, что вы тоже не поняли моего вопроса. И очень сильно не поняли.
Мне нужно только, чтобы содержимое открываемого файла определённого расширение попадало в мою программу. При чём тут вирусы?
Anatoly Podgoretsky (2004-08-07 21:08:00) [11]Это называется вирус(ные технологии)
Sourse (2004-08-07 21:04:00) [12]Тестировщица © (07.08.04 20:54) [5]
Мне кажется, что вы не поняли моего вопроса.
Sourse (2004-08-07 20:58:00) [13]Вася (07.08.04 20:50) [4]
Ну вот ты открываешь файл с расширением txt. Запускается блокнот, при этом содержимое файла txt сразу загружается в блокнот.
Интересно, а что ты понимаешь под сумасшествием?
Тестировщица (2004-08-07 20:54:00) [14]F1 ParamStr, ParamCount
Вася (2004-08-07 20:50:00) [15]Ты хоть сам понял, что сказал? В какую программу? Куда именно?
Бред сумасшедшего чистой воды
Sourse (2004-08-07 20:33:00) [16]wnew © (07.08.04 20:24) [1]
Действительно, ничего не понял. А ведь пытался сформулировать вопрос как можно понятнее.
Просто говоря, мне надо, чтобы при открытии файлов определённого расширение, содержимое этих файлов загружалось в мою программу. Я не знаю как загружать содержимое файлов в программу.
OSokin (2004-08-07 20:32:00) [17]Если тебе просто надо открыть файл, то справку по AssignFile с примером почитай...
wnew (2004-08-07 20:24:00) [18]Представь себе, что ты не знаешь о чём речь идёт. А теперь попробуй понять о чём речь в написаном тобой:)