функции С и C++, библиотек C++Builder, API Windows_______________883

Примеры

1. Пусть вы хотите открыть файл документа с именем «file.doc», т.е. запустить
Word (обычно именно он связан с файлами .doc), загрузив в него указанный
файл. Тогда вы можете написать оператор:

ShellExecute(Handle,NULL,"file.doc",NULL,NULL,SW_RESTORE) ;

2. Печать документа осуществляется аналогично рассмотренному выше, только
надо задать соответствующее значение параметра IpOperation:

ShellExecute(Handle,"print","file.doc",NULL,NULL,SW_RESTORE) ;

Выполнение этого оператора будет протекать следующим образом. Запустится
Word, связанный с файлами .doc, в него загрузится файл «file.doc», затем из
Word запустится печать с атрибутами по умолчанию, после чего файл
«file.doc» выгрузится из Word.

3. Ниже дан пример открытия приложения «Калькулятор»:

ShellExecute(Handle,"open","Calc",NULL,NULL,SW_RESTORE) ;

4. Следующий пример открывает папку c:\Program Files\Borland:

ShellExecute(Handle,"open","c:\\Program Files\\Bor-
land", NULL,NULL,SW_RESTORE);

а оператор

ShellExecute(Handle,"explore","c:\\Program Files\\Borland" ,
NULL,NULL,SW_RESTORE);

открывает программу «Проводник» с открытой папкой c:\Program Files\Bor-
land.

14.14.3.3 FindExecutable — функция

Возвращает имя и путь приложения, связанного с указанным файлом

Модуль ShellAPI
Определение

HINSTANCE FindExecutable(

LPCTSTR IpFile,        // строка с именем файла документа
LPCTSTR IpDirectory,   // строка каталога по умолчанию
LPTSTR IpResult        // строка с именем выполняемого файла

) ;

Описание

Функция FindExecutable позволяет получить имя выполняемого файла .ехе,
связанного с файлом, указанным параметром IpFile. Параметр IpDirectory опреде-
ляет каталог по умолчанию. Оба параметра являются указателями на строки с ну-
левым символом в конце. Параметр IpResult является указателем на буфер в виде
строки с нулевым символом в конце, в который функция заносит имя и путь при-
ложения, связанного с файлом IpFile.

При успешном завершении функция FindExecutable возвращает значение, бо-
льшее 32. Если возвращено меньшее значение, это свидетельствует об ошибке.
Значения ошибок приведены в таблице раздела 14.14.3.1.

Пример

Операторы

char APchar[254] ;

FindExecutable("Doc.doc".NULL,APchar) ;

Labell->Caption=APchar;