Уроки Delphi
понедельник, 28 июля 2008 г.
Запуск других приложений
Существует две наиболее часто применяемых функций. WinExec и ShellExecute
WinExec, оставлена для совместимости с ранними версиями Windows, но я рекомендую для обычного запуска программы с командной строкой использовать эту. У нее мало параметров запуска.
Используемый модуль – Windows.
Описание: WinExec (FileName: PChar; CmdShow: Cardinal) : Cardinal;
где: FileName – путь, имя запускаемого приложения, параметры командной строки. Все указывается в одной строке;
CmdShow – стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске.
Параметры отображения окна CmdShow:
| SW_HIDE | Запускаемое приложение делается невидимым |
| SW_MAXIMIZE | Расширяет окно на весь экран |
| SW_MINIMIZE | Запускаемое приложение минимизируется. После запуска активизируется окно высшего уровня, т.е. окно, откуда было запущено это приложение |
| SW_RESTORE | Делает окно таким, каким оно было запущено в последний раз |
| SW_SHOW | Отображает окно в своем текущем размере и позиции |
Для не-Windows приложений определяет состояние окна файл PIF, если таковой имеется в наличии. Если необходимо закрывать окно после завершения работы такого приложения необходимо создать PIF ярлык к нему в том же каталоге с таким же названием и поставить галочку «Закрывать окно по завершению сеанса работы». Все дополнительные параметры запуска устанавливаются там же.
Возвращаемые значения функции WinExec:
| 31 | нормальный запуск |
| 0 | системе не хватает памяти или ресурсов |
| ERROR_BAD_FORMAT | EXE файл поврежден или имеет неверный формат (Windows на такой файл говорит, что он не является приложением Win32) |
| ERROR_FILE_NOT_FOUND | файл не найден |
| ERROR_PATH_NOT_FOUND | путь к файлу задан неверно |
Если имя выполняемого файла в параметре FileName не содержит пути директории, Windows производит поиск выполняемого файла в такой последовательности:
1. Каталог из которого приложение было запущено. Это рабочий каталог
2. Системный каталог Windows (обычно C:\WINDOWS\SYSTEM).
4. Директории, указанные в переменной операционной среды в среде PATH. Узнать о каталогах этой переменной можно, введя PATH в командной строке сеанса MS-DOS.
Пример использования функции WinExec в программе:
WinExec (‘command.com’, SW_SHOW); // запускает сеанс MS-DOS
Функция ShellExecute не только запускает программы, а открывает, редактирует или печатает файл, с учетом зарегестрированного типа, а также открывает указанную папку проводником. Возвращает Handle ссылку на открытое окно.
Используемый модуль ShellAPI. Его нужно не забыть указать в разделе Uses.
Описание: ShellExecute (hWnd: HWND; Operation: PChar; FileName: PChar; Parametrs: PChar; Directory: PChar; CmdShow: Integer): HINST;
где: hWnd – Handle родительского окна, в который будут передаваться сообщения запускаемого приложения. Можно указывать Handle-ссылку окна вашего приложения.
Operation – производимая операция. Open – открыть, print – напечатать, explore – открыть папку. По умолчанию open, если указать nil.
FileName – имя файла или документа, интернет ссылка, e-mail адрес.
Parametrs – параметры, передаваемые приложению в командной строке.
Directory – каталог по умолчанию.
CmdShow – стиль окна. Показывает, в каком состоянии будет отображаться окно при запуске. Подробно рассказано выше.
Вместо параметров Operation, Parametrs и Directory можно ставить nil. Они являются не обязательными параметрами для запуска.
В случае успешного запуска возвращает Handle окна, в случае неудачи возвращает код ошибки меньше или равное 32. Список возможных ошибок можно прочитать в справке по этой команде.
Пример использования команды ShellExecute в программе:
ShellExecute (Form1.Handle, nil, ‘http://programming.dax.ru’, nil, nil, SW_RESTORE); //запуск нашей странички
ShellExecute (Form1.Handle, nil, PChar (Application.ExeName), nil, nil, SW_RESTORE); //запуск второй копии этой программы
ShellExecute (Form1.Handle, nil, ‘iexplore’, ‘http://programming.dax.ru’, nil, SW_RESTORE); //запуск в отдельном окне
ShellExecute (Form1.Handle, nil, ‘mailto:semen@krovatka.net?subject=delphi’, nil, nil, SW_RESTORE); //написать мне письмо
ShellExecute (Form1.Handle, nil, ‘c:\1.doc’, nil, nil, SW_RESTORE); //открыть документ
Запуск внешней программы в форме программы
Всем привет 
может Вы меня и не поймете, но не пинайте, я только учусь
Делаю я оболочку для CarPc. И главная затея, сделать или сотворить одну классную вещь, а вещь заключается в том, что можно будет запускать другие внешние программы в форме программы сделанной в делфи.
Допустим я сделал и скомпенсировал форму с одной кнопкой, а при нажатие на кнопку открывается к примеру блокнот в форме где кнопка О_о
. не знаю как объяснить более понятней)))
вот исходник (вложен в сообщение снизу) того что я хочу но он на бейсик вроде бы.
Для чего мне это нужно? PcCar в первую очередь это расширение экрана 800*600 допустим. и в этих 800*600 нужно запустить программу 800*640 (iGo8) а в остальной часть остаются кнопки управления типа закрыть,свернуть,кнопки плеера аудио что бы можно было пользоваться и музыкой и навигации одновременно. По мимо навигации будет много программ таким образом запускаться (Foobar2000,Navitel,,блокнот и т.п.)
P.S. Я не жду 100% просто скажите реально это или нет, если да то куда капать? я не кого не хочу затруднятся в эту минуту голова есть на плечах буду рад исходнику в крайнем случае. За ранние спасибо за ответы.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Вложения
![]() | open_prog_to_form.rar (49.7 Кб, 397 просмотров) |

Нашел пример с интернета, подставил свои данные но код не работает, просто тупо ничего не.
Запуск внешней программы с изменением параметров
Здравствуйте уважаемые программисты. Задача такая: У меня есть программа на делфи, это клиент.
Вот только что нашел исходник на языке C# но он так же не подходит, потому что Делфи нужен.
Ура нашел исходник на делфи 
Только проблема не могу запустить.
Подскажите где ошибка? компилятор ругается на строчку (CmdLine := ‘»‘ + ‘C:\windows\calc.exe’ + ‘» ‘ + Params;)
Запуск сторонних приложений дельфи-приложением
Мне надо, что бы дельфи при нажатии на кнопку запускал программу по адресу «x». Программа сторонняя, предположим игра.
Ах, да, собственно вопрос.Как это сделать?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Запуск сторонних приложений
всем привет, я только начал изучать дельфи начал писать программу и тут вот не получается кое что.
TrimWorkingSet для сторонних приложений
Здравствуйте ув. Программисты. Есть код: procedure TrimWorkingSet; var MainHandle.
А можно поподробнее?
Куда именно адрес вводить?
куда уже более подробнее?
куда уже более подробнее?
А можно указывать относительный путь?
P.S. Остальные параметры не трогать?
какой хочешь такой и указывай
и не забудь в uses ShellApi дописать.
какой хочешь такой и указывай
а это уже тебе решать
и не забудь в uses ShellApi дописать.
И все же, я немного по поводу относительного пути не понял. Вот у меня есть две программы, одна находится в папке с другой.Как запустить 1-ую,зная лишь адрес второй и используя относительный путь?
Добавлено через 33 секунды
Где написано Paint.exe
Так и хочется сказать, «Чо?0_о»
Что это за функция?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Запуск IOS приложений
Как запустить созданное приложение для IOS на Windows или как его без Mac’a скинуть на IOS девайс?

Помогите мне пожалста! Мне необходимо запускать из делфи файлы разных приложений, типа.
Как запустить стороннее приложение с параметром?
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не удается запустить стороннее приложение Delphi
Создал вот такую программу, для запуска стороннего приложения и открытия файла в нем. Но что то не.

В принципе, зная расположение какого-то приложения на диске запуск его особых трудностей не.
Как запустить стороннее приложение?
Можно ли запускать из своей программы другую, например MS Word? Если да то как?
Как запустить стороннее приложение
Всем доброго здоровьеца. пока безуспешно пытаюсь работать с WinForms в visual studio 2012\2010.
Решение
Нашел такое: «Через CreateProcess запускаешь «%WINDIR%\notepad.exe» с параметром » \1.txt».»
Щас буду разбираться.
Добавлено через 13 минут
Сделал так:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Как запустить стороннее приложение с определенными параметрами
Есть программа paping.exe, она пингует по портам! Нужно с помощью vb.net программы запустить её с.

как запустить стороннее приложение внутри своей MDI-формы?! ОЧЕНЬ СРОЧНО!
Запустить стороннее приложение
Имеется программа c:\test.exe и рядом с ней есть файл test.txt, который открывается в этой.
Запустить стороннее приложение
Привет всем 🙂 Например есть программа (консолная) что делать чтоб при запуске форму запустит.
Запустить стороннее приложение на выполнение
Допустим, есть две программы. Вторая должна открыться, если пользователь, например, введет нужное.
ÐÑÐµÐ¼Ñ Ð¸ СÑекло Так вÑпала ÐаÑÑа HD VKlipe Net
Хотя это было гораздо более распространенным явлением во времена DOS, современные операционные системы также позволяют вам запускать параметры командной строки для приложения, чтобы вы могли указать, что приложение должно делать.
То же самое верно для вашего приложения Delphi, будь то для консольного приложения или приложения с графическим интерфейсом. Вы можете передать параметр из командной строки в Windows или из среды разработки в Delphi, в разделе Run> Parameters опция меню.
В этом уроке мы будем использовать диалоговое окно параметров для передачи аргументов командной строки в приложение, так что оно будет выглядеть так, как будто мы запускаем его из проводника Windows.
ParamCount и ParamStr ()
ParamCount функция возвращает количество параметров, переданных программе в командной строке, и ParamStr возвращает указанный параметр из командной строки.
OnActivate Обработчик событий главной формы обычно там, где доступны параметры. Когда приложение запущено, оно может быть восстановлено.
Обратите внимание, что в программе CmdLine переменная содержит строку с аргументами командной строки, указанными при запуске приложения. Ты можешь использовать CmdLine чтобы получить доступ ко всей строке параметров, передаваемых приложению.
Образец заявки
процедура TForm1.Button1Click (Отправитель: TObject); начать ShowMessage (ParamStr (0)); конец;
Когда вы запустите программу и нажмете кнопку, появится окно сообщения с путем и именем файла исполняемой программы. Ты это видишь ParamStr «работает», даже если вы не передали в приложение никаких параметров; это связано с тем, что значение массива 0 хранит имя файла исполняемого приложения, включая информацию о пути.
выберите параметры от Бежать меню, а затем добавить Delphi Программирование в раскрывающийся список.
Замечания: Помните, что когда вы передаете параметры в ваше приложение, разделяйте их пробелами или табуляцией. Используйте двойные кавычки, чтобы обернуть несколько слов в один параметр, как при использовании длинных имен файлов, которые содержат пробелы.
Измените обработчик события OnClick кнопки следующим образом:
процедура TForm1.Button1Click (Отправитель: TObject); вар J: целое число; начать за j: = 1 в ParamCount делать ShowMessage (ParamStr (j)); конец;
Когда вы запускаете программу и нажимаете кнопку, появляется сообщение, которое гласит «Delphi» (первый параметр) и «Программирование» (второй параметр).
Приложения Delphi: владелец и родитель
Здесь объясняются различия между владельцем компонента Delphi и его родительским компонентом, а также тем, когда следует использовать элементы управления и свойства компонента.
Запускать пакетные файлы (команды DOS) из Visual Studio
Возможность запуска командного файла (командного файла DOS) не встроена в Visual Studio, но добавить его нетрудно. Этот краткий совет объясняет как.
Выполнять и запускать приложения и файлы из кода Delphi
Узнайте, как открыть документы в списке файлов Delphi, просто дважды щелкнув по ним, не открывая сначала связанную программу.



