Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Работа с exe'шками

Ответить
Настройки темы
Delphi - [решено] Работа с exe'шками

Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 23:06, 07-08-2008

 

Аватара для CJ F.A.N.

Ветеран


Сообщения: 565
Благодарности: 30

Профиль | Сайт | Отправить PM | Цитировать


Вообще, для запуска ЕХЕ используется команда 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 - это заголовок окна программы, которую надо завершить

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

-------
Опыт растет прямо пропорционально выведенному из строя оборудованию

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:29, 08-08-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


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

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:45, 08-08-2008 | #3


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 23:48, 08-08-2008 | #4


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Snake750, вот пример запуска программы.
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:06, 09-08-2008 | #5


Аватара для Snake750

Старожил


Сообщения: 175
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Отправлено: 13:28, 09-08-2008 | #6


Аватара для DillerInc

Обратный инженер


Сообщения: 644
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата Snake750:
А как теперь завершить запушенный процесс?? »
...вам ещё разжевать и в рот положить?
Процедура для завершения процесса приведена мной выше.Ей просто надо передать описатель созданного процесса -- его handle.

-------
То,что неясно,следует выяснить.То,что трудно творить,следует делать с великой настойчивостью. © Конфуций


Отправлено: 16:36, 09-08-2008 | #7


Аватара для XCodeR

Ветеран


Сообщения: 878
Благодарности: 53

Профиль | Сайт | Отправить PM | Цитировать


Цитата DillerInc:
Ей просто надо передать описатель созданного процесса -- его handle. »
..вам ещё разжевать и в рот положить?:
Т.е. то, что возвращает функция CrateProcess.

Отправлено: 00:00, 10-08-2008 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Работа с exe'шками

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Работа с 7z.exe в bat\cmd файле Medic84 Скриптовые языки администрирования Windows 5 13-10-2009 15:35
[решено] Интересует куда делись Regedit.exe | NTSD.exe | NETSETUP.exe | TELNET.exe Ricardo Проект WinStyle 11 30-07-2009 23:36
где найти файлы ntkrnlmp.exe ntkrnlpa.exe ntkrpamp.exe ntoskrnl.exe krazy Автоматическая установка Windows 2000/XP/2003 4 20-11-2008 15:20
Работа с poledit.exe toro Microsoft Windows NT/2000/2003 12 09-04-2008 17:34
Балуемся с IP-шками Kenwood Хочу все знать 5 25-02-2004 16:28




 
Переход