Главная страница
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.02 c
1-65437
NewD
2003-10-07 17:21
2003.10.20
Очень нужно срочно!!!


1-65481
нет
2003-10-08 17:21
2003.10.20
Экспорт в Эксель когда его нет


7-65651
Mr. Smit
2003-08-04 00:51
2003.10.20
Как сохранить ClipBoard в файл ?


3-65313
Элина
2003-09-29 17:45
2003.10.20
Труба!!


1-65467
DimChan
2003-10-09 09:13
2003.10.20
Ввод числа денежного эквивалента