Delphi - [решено] Работа с exe'шками

Ответить
Аватара пользователя
Snake750

Delphi - [решено] Работа с exe'шками

Сообщение Snake750 »

Дело вот в чем.Хочу сделать программу ккоторая будет запускать и завершать определенные программы.а как прорасать в делфи чтобы при нажатий определенной кнопки на форме я не знаю.короче кто знает напишите какую каоманду использовать для запуска exeшника и для его завершения
Аватара пользователя
CJ F.A.N.

Re: Delphi - [решено] Работа с exe'шками

Сообщение CJ F.A.N. »

Вообще, для запуска ЕХЕ используется команда WinExec ('имя программы') . Еще можно использовать shellexecute (надо добавить в раздел Uses модуль shellapi. Завершать можно командой PostMessage(handle завершаемого приложения,WM_CLOSE,0,0);

вот например код:



function closeEXE (Prog_name: string): boolean;

var

h: handle;

begin

h:= FindWindow(nil, Prog_name);

if PostMessage(h,WM_CLOSE,0,0) then

result:= true

else

result:= false;

end;



Prog_name - это заголовок окна программы, которую надо завершить



Это конечно примитивный способ, но вполне достаточно и его, все конечно зависит от конкретных условий Изображение
Аватара пользователя
DillerInc

Re: Delphi - [решено] Работа с exe'шками

Сообщение DillerInc »

Snake750, можно использовать WinAPI:

CreateProcess -- для создания процесса/запуска приложения



Код:

Код: Выделить всё

var
 sInfo : TStartupInfo;
 pInfo : TProcessInformation;
 OpenDlgBox : TOpenFileName;
begin
// Создание процесса
if CreateProcess(OpenDlgBox.lpstrFile, nil, nil, nil, False, 0, nil, nil, sInfo, pInfo) then
// бла-бла-бла
end;

TerminateProcess -- для завершения процесса/приложения



Код:

Код: Выделить всё

procedure KillProcess(hProcess:DWORD); // Процедура убивания созданного нами процесса
var
 ExitCode : UINT; // Статус завершения определённого процесса
begin
if GetExitCodeProcess(hProcess, ExitCode) = True then
 TerminateProcess(hProcess, ExitCode);
end; // KillProcess
Аватара пользователя
Snake750

Re: Delphi - [решено] Работа с exe'шками

Сообщение Snake750 »

Че то я ничего не понял.Можете написать на конкретном примере:при нажатии первой кнопки на форме запускается определенное приложение;при нажатии второй кнопки ЭТО же приложение завершается.Хотелось бы если вы бы написали на каком нибудь конкретном рабочем примере
Аватара пользователя
XCodeR

Re: Delphi - [решено] Работа с exe'шками

Сообщение XCodeR »

Snake750,
вот
пример запуска программы.
Аватара пользователя
Snake750

Re: Delphi - [решено] Работа с exe'шками

Сообщение Snake750 »

Спасибо XCodeR.С запуском я разобрался.А как теперь завершить запушенный процесс??
Аватара пользователя
Snake750

Re: Delphi - [решено] Работа с exe'шками

Сообщение Snake750 »

Цитата Snake750:



А как теперь завершить запушенный процесс??
Delphi - [решено] Работа с exe'шками




...вам ещё разжевать и в рот положить?

Процедура для завершения процесса приведена мной выше.Ей просто надо передать описатель созданного процесса -- его handle.
Аватара пользователя
XCodeR

Re: Delphi - [решено] Работа с exe'шками

Сообщение XCodeR »

Цитата DillerInc:



Ей просто надо передать описатель созданного процесса -- его handle.
Delphi - [решено] Работа с exe'шками




..вам ещё разжевать и в рот положить?:

Т.е. то, что возвращает функция CrateProcess.
Ответить

Вернуться в «Программирование и базы данных»