Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2008, 19:09   #1
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию Закрыть другую программу

Нашёл код для поиска и закрытия программы
Код:
PostMessage(FindWindow(nil, 'PPC'), WM_QUIT, 0, 0);
Но есть одна проблема если окно PPC не найдено, то программа закрывает саму себя. Как исправить?
Shouldercannon вне форума Ответить с цитированием
Старый 09.12.2008, 19:13   #2
NieL
Форумчанин
 
Регистрация: 17.11.2008
Сообщений: 116
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Нашёл код для поиска и закрытия программы
Код:
PostMessage(FindWindow(nil, 'PPC'), WM_QUIT, 0, 0);
Но есть одна проблема если окно PPC не найдено, то программа закрывает саму себя. Как исправить?
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  H: HWND;
begin
 H := FindWindow(nil, 'PPC');
 if H > 0 then
   PostMessage(H, WM_QUIT, 0, 0);
end;
NieL вне форума Ответить с цитированием
Старый 09.12.2008, 19:26   #3
Gorychev
Участник клуба
 
Аватар для Gorychev
 
Регистрация: 08.03.2008
Сообщений: 1,603
По умолчанию

Ну или так:
Код:
if FindWindow(nil, 'PPC') <> 0 then
postmessage(FindWindow(nil, 'PPC'),wm_quit,0,0);
FindWindow возвращает ноль если окна нет
Gorychev вне форума Ответить с цитированием
Старый 09.12.2008, 23:06   #4
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Это не нормальное закрытие вы рубите проге руки и она падает. По сути вы должны слать WM_CLOSE. Если требуется все таки нормальное завершение программы
BOBAH13 вне форума Ответить с цитированием
Старый 20.12.2008, 20:50   #5
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Косяк. WM_CLOSE закрывает проги которые не сидят в трее. WM_QUIT их хорошо закрывает, но это зверски. Какие ещё есть способы конкретно за закрытие программы сидящей в трее?
Shouldercannon вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как «внедриться» в другую программу? forzub Общие вопросы Delphi 0 10.07.2008 17:33
Как записать свою программу в другую? AngelOfDeath Общие вопросы Delphi 1 12.05.2008 06:12
Как записать данные в другую программу? Спартак Общие вопросы Delphi 23 19.04.2008 22:33
закрыть программу Var17 Общие вопросы Delphi 1 20.12.2007 10:06
как закрыть программу? Alar Общие вопросы Delphi 0 29.10.2006 20:22