Краткие теоретические сведения. Для запуска внешних программ можно использовать функцию WinExec или ShellExecute
Для запуска внешних программ можно использовать функцию WinExec или ShellExecute. Функция WinExec позволяет выполнить указанное приложение. Определение функции: function WinExec (CmdLine: Pchar; CmdShow: integer): integer;. Параметр CmdLine является указателем на строку с нулевым символом в конце, содержащую имя используемого файла и, если необходимо, параметры командной строки. Если имя указано без пути, то Windows ищет выполняемый файл в следующей последовательности. 1. В каталоге, из которого запущено приложение. 2. В текущем каталоге. 3. В системном каталоге Windows, имя которого возвращается функцией GetSystemDirectory. 4. В каталоге Windows, имя которого возвращается функцией GetWindowsDirectory. 5. В каталогах из списка в переменной окружения PATH. Параметр CmdShow определяет форму представления окна запускаемого приложения Windows. Возможные значения этого параметра смотрите в разделе ShellExecute. Для приложений, не являющихся Windows-приложениями, файлов PIF и т. д., состояние окна определяет само приложение. При успешном выполнении запуска приложения функция WinExec возвращает значение, большее 31. Достоинство функции WinExec является ее совместимостью с ранними версиями Windows. Собственно, для этого она и сохраняется в WIN32, хотя для WIN32 рекомендуется пользоваться функцией CreateProcess. При работе с WIN32 функция WinExec завершает работу, если вызванное приложение вызывает функцию с или заканчивается выделенный лимит времени. Таким образом, ожидание можно прервать, предусмотрев в процессе, запущенном с помощью WinExec, в нужный момент вызов функции WinExec. В отличие от WinExec, функция ShellExecute позволяет не только выполнить любое приложение Windows, но и открыть файл документа, что означает выполнение связанного с ним приложения и загрузку в него этого документа. Например, обычно с документами, имеющими расширение.doc, связана программа WinWord. В этом случае открыть файл, например, с именем file.doc означает запустить WinWord и передать ему в качестве параметра имя файла file.doc. Кроме описанных возможностей функция ShellExecute позволяет распечатать указанный файл или открыть указанную папку. Последнее означает, что будет запущена программа «Проводник» с открытой указанной папкой. Определение функции: Function ShellExecute (Wnd: HWnd; Operation, FileName, Parameters, Directory: PChar; ShowCmd: Integer): Thandle;. Важнейшие параметры функции имеют следующие значения:
Функция ShellExecute возвращает дескриптор открытого приложения или дескриптор сервера DDE-приложения. Если возвращаемое значение меньше или равно 32, это указывает на ошибку.
|