Текущий архив: 2003.04.03;
Скачать: CL | DM;
ВнизЗапуск любого файла в зависимости от расширения Найти похожие ветки
← →
Doom (2003-03-24 10:36) [0]Знаю, что это просто. В статьях нашел пример, как "привязать" определенное расширение к своей ехе - программе.
У меня задача наоборот
Мне нужно Запустить любой файлй в зависимости от расширения
например вводим "аааю.тхт" - запускается Блокнот или ВордПад.
можно ли сделать это, НЕ открывая реестр?
Или это - единственный способ?
← →
Anatoly Podgoretsky (2003-03-24 10:49) [1]Можно, укажи путь до Блокнот или ВордПад.
← →
KDS (2003-03-24 10:50) [2]Используй функцию ShellExecute из модуля ShellApi.
Так открывается файл программой по умочанию для данного типа (txt)
ShellExecute(Handle,"open","аааю.тхт",nil,nil,SW_SHOWMAXIMIZED);
Тоись запускается Блякнот.
Можно явно указать какой прогой читать этот файл (напр. Вордом)
ShellExecute(Handle, "open","winword.exe", "аааю.тхт",nil, SW_SHOWMAXIMIZED);
Общем см. доку по Ф1 на параметры этой функции. ;-))
← →
Intell (2003-03-24 10:56) [3]16 и 32 разрядный вызов (работает на разных операционных системах)
procedure TForm1.Button1Click(Sender: TObject);
begin
winexec(pchar("notepad.exe"),sw_shownormal);
end;
Есть другой способ - 32 разрядный (работает только под Windows, но быстрее предыдущего)
добавляем модуль ShellAPI в USES
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Handle,nil,PChar("notepad.exe"),nil,nil,SW_ShowNormal);
end;
Ещё один способ - открывает не только *.exe файлы, как предыдущие, а открывает по маске
добавляем модуль ShellAPI в USES
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(Application.Handle, "open", "C:\мои документы\Doc1.doc", nil, nil, sw_ShowNormal);
end;
Другой способ - открывает ссылки в инет:
добавляем модуль ShellAPI в USES
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(0, "open", " http://www.pl-computers.ru", "", "", SW_Show);
end;
открывает ссылки Email:
procedure TForm1.Label1Click(Sender: TObject);
begin
ShellExecute(0, "open", "mailto:sergein@nojabrsk.ru", "", "", SW_Show);
end;
Другой способ: (Не забудьте добавить Shellapi в Uses)
function ExecuteFile(const FileName, Params, DefaultDir: string; ShowCmd: Integer): THandle;
var
zFileName, zParams, zDir: array[0..79] of Char;
begin
Result := ShellExecute(Application.MainForm.Handle, nil,
StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
StrPCopy(zDir, DefaultDir), ShowCmd);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ExecuteFile("maker.exe","text_file","c:\maker", SW_SHOWNORMAL);
end;
Здесь есть то, что тебе надо.
sergein@nojabrsk.ru
← →
Doom (2003-03-24 11:02) [4]Anatoly Podgoretsky © (24.03.03 10:49)
KDS © (24.03.03 10:50)
Intell © (24.03.03 10:56)
Всем спасибо, что откликнулись !!!
← →
Anatoly Podgoretsky (2003-03-24 11:09) [5]Возможно тебе еще потребуется функция FindExecutable
Страницы: 1 вся ветка
Текущий архив: 2003.04.03;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.007 c