Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];

Вниз

Помогите!!!   Найти похожие ветки 

 
MystiX   (2002-01-13 15:59) [0]

Как запустить программу и ждать её завершения?
--------------------------------------------
Заранее спасибо!!!


 
Dimaond Cat   (2002-01-14 01:02) [1]

procedure TForm1.Button1Click(Sender: TObject);
var
si : Tstartupinfo;
p : Tprocessinformation;
begin
FillChar( Si, SizeOf( Si ) , 0 );
with Si do begin
cb := SizeOf( Si);
dwFlags := startf_UseShowWindow;
wShowWindow := 4;
end;
Application.Minimize;
Createprocess(nil,"notepad.exe",nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Waitforsingleobject(p.hProcess,infinite);
Application.Restore;
end;


 
dmitriyk   (2002-01-14 03:19) [2]

Cледующий код запускает приложение Clock.exe и минимизирует его окно. ExecProgram("clock.exe", 1).

Вот еще попробуй так:
Автор: Fabrнcio Fadel Kammer
Пример показывает как из Вашей программы запустить внешнее приложение и подождать его завершения.


function ExecAndWait(const FileName, Params: ShortString; const WinState: Word): boolean; export;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: ShortString;
begin
{ Помещаем имя файла между кавычками, с соблюдением всех пробелов в именах Win9x }
CmdLine := """ + Filename + "" " + Params;
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
begin
cb := SizeOf(SUInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WinState;
end;
Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
{ Ожидаем завершения приложения }
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Free the Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;
А вот пример вызова этой функции:
ExecAndWait( "C:\windows\calc.exe", "", SH_SHOWNORMAL)



Параметр FileName = Имя внешней программы.
Параметр Params = Параметры, необходимые для запуска внешней программы
Параметр WinState = Указывает - как будет показано окно:
Для этого параметра мы можем так же использовать следующие константы:
SW_HIDE, SW_MAXIMIZE, SW_MINIMIZE, SW_SHOWNORMAL
PS: Этот код тестировался в delphi версий 3, 4 и 5.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.03.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.005 c
1-43021
wonder_boy
2002-02-26 12:03
2002.03.14
Декомпиляция


14-43141
Alex12
2002-01-27 19:35
2002.03.14
Игроман - это болезнь?


3-42945
tmp_user
2002-02-15 02:53
2002.03.14
Обработка ошибок


7-43205
a
2001-12-09 09:03
2002.03.14
можно ли освободить com порт от мышки на ходу, т.е.


1-43093
Gayrus
2002-02-27 05:10
2002.03.14
Свой компонент





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский