Разное
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Компонент PopupMenu
Категория: Компоненты
Категория: Компоненты
Удалить лишние символы из строки
Категория: Текст и строки
Категория: Текст и строки
Число строкой с предстоящими нулями
Категория: Текст и строки
Категория: Текст и строки
Форма всегда наверху
Категория: Компоненты
Категория: Компоненты
Подсветить часть текста в DBGrid
Категория: Компоненты
Категория: Компоненты
Удалить или оставить симолы
Категория: Текст и строки
Категория: Текст и строки
Как создать ярлык
Категория: Приложение
Категория: Приложение
Как получить список устройств, подключённых к компьютеру
Категория: Файловая система
Категория: Файловая система
Объект экрана — Screen
Категория: Компоненты
Категория: Компоненты
Установить в программу свои шрифты
Категория: Приложение
Категория: Приложение
Delphi - База Знаний: Как запустить приложение, дождаться его исполнения
Uses
..., ShellAPI;
procedure StartAndWait( Name: PChar );
var
ProcInfo: PShellExecuteInfo;
begin
GetMem( ProcInfo, SizeOf( ProcInfo^ ) );
with ProcInfo^ do begin
Wnd := Application.Handle;
cbSize := SizeOf( ProcInfo^ );
lpFile := PChar( Name );
lpParameters := nil;
lpVerb := 'open';
nShow := SW_SHOW;
fMask := SEE_MASK_DOENVSUBST or SEE_MASK_NOCLOSEPROCESS;
end;
try
Win32check( ShellExecuteEx( ProcInfo ) );
while not Application.Terminated and
( WaitForSingleObject( ProcInfo.hProcess, 100 ) = WAIT_TIMEOUT ) do
Application.ProcessMessages;
finally
if ProcInfo.hProcess <> 0 then
CloseHandle( ProcInfo.hProcess );
Dispose( ProcInfo );
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
( Sender as TControl ).Enabled := false;
StartAndWait( 'notepad.exe' );
( Sender as TControl ).Enabled := true;
end;