Главная страница
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.014 c
1-65528
Кодер
2003-10-08 09:52
2003.10.20
Свойство Enable в TRadioGroup


1-65471
Graff
2003-10-09 00:07
2003.10.20
Получить информацию из *.pwl файла


1-65412
plyaznik
2003-10-07 21:01
2003.10.20
подскажите блокнот с подсветкой синтаксиса Pascal(-)


1-65450
Alexious
2003-10-06 09:41
2003.10.20
И опять Числа


3-65396
griser
2003-09-26 18:36
2003.10.20
Интерфейсы