Главная страница
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.016 c
3-65318
RDen
2003-09-30 10:55
2003.10.20
SQL


3-65348
Alexander Vasjuk
2003-09-29 13:15
2003.10.20
Создание таблицы DBase с помощью ADO


7-65660
AlexRush
2003-08-04 15:24
2003.10.20
NTFS ADS (Alternative Data Streams) - поиск


7-65656
GuestTM
2003-07-31 03:09
2003.10.20
глюки с ChangeDisplaySettings (DIBENG.DLL) при смене видеорежима!


3-65319
aglar
2003-09-27 08:56
2003.10.20
Как проинсталировать BDE