Запуск из приложения внешних программ
Функции запуска являются функциями API Windows и находятся в модуле ShellAPI. Если функция возвращает значение меньшее или равное 32, то это указывает на ошибку при выполнении. Отсутствие аргумента при обращении к функции указывается константой Nil.
ShellExecute(W:HWnd,S1,S2,S3,S4;R):THandle ‑ позволяет выполнить любое приложение Windows, распечатать файл или открыть папку:
W ‑ родительское окно запускаемого приложения (свойство Handle);
S1 ‑ строка с командой: Open (выполнение командной строки S2, если по расширению файла S2 Windows не может запустить программу обработки этого файла), Print (печать документа Word под именем S2), Explore (вывод проводником содержимого папки S2);
S2 ‑ имя открываемого (выполняемого) файла, распечатываемого документа или выводимой папки;
S3 ‑ параметры приложения (для открываемого документа S3=Nil);
S4 ‑ имя умалчиваемого каталога;
R ‑ режим открытия, задаваемый константами: SW_Hide (окно скрыто): SW_Minimize (окно сворачивается), SW_Maximize (окно развертывается); SW_Restore (окно восстанавливается, активизируется и отображается); SW_Show или SW_ShowMaximized или SW_ShowMinimized (окно активизируется и отображается с текущими размерами или в развернутом или в свернутом виде, соответственно), SW_ShowMinNoActivate (отображается в свернутом виде без активизации), SW_ShowNA (отображает окно с текущими размерами без активизации), SW_ShowNoActivate (отображает окно с его последними размерами без активизации), SW_ShowNormal (отображение окна в первоначальном виде).
Примеры:
ShellExecute(Handle,Nil,'D: \Vb.dot',Nil,Nil,SW_Restore); //запуск Word
ShellExecute(Handle,’Print’,'D:\Vb.dot',Nil,Nil,SW_Restore); //печать Vb.dot
ShellExecute(Handle,'Open','Calc',Nil,Nil,SW_Restore); //запуск калькулятора
ShellExecute(Handle,'Open','C:\Far\far.exe',Nil,Nil,SW_Show);//запуск Far.exe
ShellExecute(Handle,'Explore','D:\Plehev',Nil,Nil,SW_Restore); //папка Plehev
FindExecutable(S1,S2,S3):THandle ‑ функция формирует полное имя выполняемой программы (S3), которая обрабатывает файл (S1) из умалчиваемого каталога S2.
Пример определения имени программы обработки файла Vb.dot:
Var Np:Array [0..254] Of Char; ...
FindExecutable('D:\Plehev\Vb.dot',Nil,Np);//имя программы обработки в Np
//можно вызвать функцию и так: FindExecutable('Vb.dot','D:\Plehev',Np);
Label1.Caption:=Np;//вывод: c:\Program Files\Microsoft Office\Winword.exe
WinExec(S,R):Integer ‑ позволяет выполнить командную строку S. Второй параметр аналогичен последнему параметру R функции ShellExecute.
Пример: WinExec('C:\\Far\far.exe',SW_Show); //запуск Far.exe
Дата добавления: 2016-03-22; просмотров: 709;