![]() |
![]() ![]() ![]() ![]() |
|
Получить приложение, ассоциированное с указанным расширением файловDelphi , Программа и Интерфейс , Приложения чужиеПолучить приложение, ассоциированное с указанным расширением файлов
Оформил: DeeCo
{
FindExecutable returns the name and handle to the executable
(.EXE) file associated with a specified file type (.BMP)
}
{
Wenn du z.B eine BMP-Datei anklickst, wird die
dazugehorige Anwendung MSPAINT.EXE mit der Datei als
Parameter ausgefuhrt. In diesem Beispiel wird
herausgefunden, welche Anwendung (hier MSPAINT.EXE)
mit dem jeweiligen Datei Typ verknupft ist.
}
function ShellFindExecutable(const FileName, DefaultDir: string): string;
var
Res: HINST;
Buffer: array[0..MAX_PATH] of Char;
P: PChar;
begin
FillChar(Buffer, SizeOf(Buffer), #0);
if DefaultDir = '' then P := nil
else
P := PChar(DefaultDir);
Res := FindExecutable(PChar(FileName), P, Buffer);
if Res > 32 then
begin
P := Buffer;
while PWord(P)^ <> 0 do
begin
if P^ = #0 then // FindExecutable replaces #32 with #0
P^ := ' ';
Inc(P);
end;
Result := Buffer;
end
else
Result := '';
end;
// Example, Beispiel:
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellFindExecutable('1stboot.bmp', 'c:\windows');
end;
Это фрагмент кода на Delphi, демонстрирующий использование функции Обзор того, что код делает:
В примере кода процедура Альтернативное решение с использованием встроенной функции Delphi В этом альтернативном решении функция Обратите внимание, что это альтернативное решение предполагает, что тип файла зарегистрирован в Windows-регистре и имеет связанный исполняемый файл. Если тип файла не зарегистрирован или не имеет связанного исполняемого файла, функция Получить приложение, ассоциированное с указанным расширением файлов, используется функция FindExecutable, которая возвращает имя и хэндл исполняемого файла, связанного с указанным типом файла. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш :: Главная :: Приложения чужие ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 | ||||