Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
Borland C/C++
(Модераторы:
nikedeforest
,
Вад
) > Тема:
Перезапуск своей программы.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Перезапуск своей программы. (Прочитано 12462 раз)
0 Пользователей и 1 Гость смотрят эту тему.
alex87
Постоялец
Offline
Пол:
Перезапуск своей программы.
«
:
25-09-2009 02:45 »
Каким методом можно перезапустить свою программу? Желательно на примере.
«
Последнее редактирование: 25-09-2009 06:17 от Sel
»
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Перезапуск своей программы.
«
Ответ #1 :
25-09-2009 03:06 »
см. тут (ссылка)
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
alex87
Постоялец
Offline
Пол:
Re: Перезапуск своей программы.
«
Ответ #2 :
30-09-2009 05:16 »
ага, с этим понятно, а вот другой вопрос:
как закрыть другую программу из своей (корректно)
я понимаю что надо посылать другой программе WM_CLOSE... вот и проблема как это сделать???
ну и в той программе должен по идее быть приемник этого сообщения?
Записан
zubr
Гость
Re: Перезапуск своей программы.
«
Ответ #3 :
30-09-2009 06:21 »
WM_CLOSE не всегда срабатывает. Если у программы есть системное меню (кнопка Close) то надежнее посылать WM_SYSCOMMAND с WParam = SC_CLOSE - это аналогично действию пользователя по нажатию кнопки Close. Чтобы послать сообщение окну надо найти его хендл, к примеру с помощью функции FindWindow
Записан
alex87
Постоялец
Offline
Пол:
Re: Перезапуск своей программы.
«
Ответ #4 :
30-09-2009 06:51 »
найти окно вроде так:
Код:
HWND hWnd = FindWindow("TSYSLOGserver",NULL);
if (hWnd!=NULL)
//тут какая функция отправления Shell какая-то? или нет?
Записан
alex87
Постоялец
Offline
Пол:
Re: Перезапуск своей программы.
«
Ответ #5 :
30-09-2009 07:33 »
все, разобрался :
Код:
SendMessage(hWnd,WM_SYSCOMMAND,SC_CLOSE,0);
спасибо за совет!)
Записан
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
Re: Перезапуск своей программы.
«
Ответ #6 :
30-09-2009 08:49 »
правильнее будет PostMessage() - ты ведь не уверен, что процесс ещё работает
Записан
>FAQ ПО ПРОГР.
>ССЫЛКИ ПО ПРОГР.
>Правила"Неотложки"
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
Borland C/C++
(Модераторы:
nikedeforest
,
Вад
) > Тема:
Перезапуск своей программы.
Загружается...