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

Вниз

Как при нажатии на кнопку запустить другой 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;
Скачать: [xml.tar.bz2];

Наверх




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


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


3-65364
Дмитрий К.
2003-09-29 12:27
2003.10.20
Окрашивание фона в таблице по нажатию клавиши


8-65553
rog
2003-06-19 13:14
2003.10.20
RGB цвет в CMYK цвет


14-65579
Anatoly Podgoretsky
2003-10-02 13:17
2003.10.20
Подробности по мылу





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский