Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: CL | DM;

Вниз

Как при нажатии на кнопку запустить другой exe?   Найти похожие ветки 

 
Kiril ©   (2003-10-07 21:34) [0]

Привет!

Поискал на сайте, но ничего не нашел. Решил задать вопрос.

Как при нажатии на кнопку запустить другой exe? Какие могут быть неприятности?

Кирилл


 
хз ©   (2003-10-07 21:42) [1]

Хм...Я точно не знаю ;-))), но наверное ShellExecute...:-))))

uses
ShellApi

ShellExecute(Application.handle,nil,PChar("C:\tvoya_proga.exe"),nil,nil,SW_SHOW);

Неприятности различного рода могут быть, если будешь задавать подобные вопросы...;-)


 
Guerrillero ©   (2003-10-07 22:33) [2]

CreateProcess + F1


 
wl ©   (2003-10-07 23:02) [3]

WinExec() проще


 
хз ©   (2003-10-07 23:14) [4]

2 wl ©

> WinExec() проще

Проще - не всегда лучше.


 
Deimos   (2003-10-07 23:15) [5]

всё довольно просто:
вот функция вызова

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(ExtractFilePathFilename)),StartInfo,ProcInfo);
{ Ожидаем завершения приложения }
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Free the Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;

А вот пример вызова этой функции

ExecAndWait( "C:windowscalc.exe", "", SH_SHOWNORMAL)

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


 
kaif ©   (2003-10-08 00:41) [6]

WinExec старая. Рекомендуется ShellExecute


 
wl ©   (2003-10-08 02:07) [7]

согласен, но кое-где читал, что в новых версиях винды WinExec - просто переходник к ShellExecute, так что какая разница, раз её проще использовать. но не будем раздувать флейм :)



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

Текущий архив: 2003.10.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
9-65307
MW Support
2002-12-26 18:43
2003.10.20
Алгоритмы 2D аркад, боты


4-65677
^^^Dragon^^^
2003-08-15 18:08
2003.10.20
Вывод текста прямо на экран


1-65443
MakNik
2003-10-07 15:06
2003.10.20
MDIChildren


3-65387
123
2003-09-27 17:03
2003.10.20
release mdb


3-65368
Vasja
2003-09-28 19:16
2003.10.20
как выполнить обновлние таблицы в ADO после LoadFromFile