Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с минимизацией и восстановлением, Некорректное восстановление окна после м 
:(
    Опции темы
santey
Дата 24.5.2007, 23:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 31.12.2005

Репутация: -1
Всего: -1



Здравствуйте.

Подскажите кто сможет, ситуация следующая.
Мне необходимо, чтобы на одном компьютере запускалось
только одно приложение.
Я при помощи мьютексов устанавливаю, работает ли
приложение уже на компьютере, и вот если работает
в свернутом виде в панеле задач, то после запуска этого
приложения из панели задач возникают проблемы с его 
минимизацией.

Например.

У меня имеется 1 запущенное приложение, я его минимизирую
в полосу задач нажатием кнопки на Esc, после чего приложение
минимизируется функцией 
Perform(WM_SYSCOMMAND,SC_MINIMIZE,0);
пробовал и вот так
Application->Minimize();
пробовал и через дескриптор.

Далее запускаю 2 такое же приложение, причем мне не нужно,
что бы оно запускалось, а нужно, чтобы 1 приложение восстановилось из полосы
задач, а второе закрылось, я использую из второго приложения следующие строки кода.

HANDLE h=OpenMutex(SYNCHRONIZE,true,"MyForm");   //открываю мьютекс

if(h)   //если приложение уже работает
   {
        HANDLE hwnd=FindWindow("TFormMain","Приложение");   //нахожу дескриптор 1 приложения
        ShowWindow(hwnd,SW_SHOWNORMAL); //здесь пробовал также SW_RESTORE, показываю 1 приложение  
        SetForegroundWindow(hwnd);   //если было запущены другие программы, то 1 приложение показываю поверх всего
        Application->Terminate();   //закрываю 2 приложение
   }
else   //если приложение не работает, то создаю мьютекс
   CreateMutex(NULL,true,"MyForm");

То есть второе приложение закрывается, так как работает первое
и первое восстанавливает свои размеры, но если попытаться первое приложение
минимизировать, то ничего не получается, окно не хочет сворачиваться
в панель задач.

Подскажите в чем может быть дело?


PM MAIL   Вверх
ama_kid
Дата 25.5.2007, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 10
Всего: 95



Вместо вот этого
Цитата(santey @  24.5.2007,  23:54 Найти цитируемый пост)
ShowWindow(hwnd,SW_SHOWNORMAL);
попробуй
Код
PostMessage(hwnd,WM_SYSCOMMAND,SC_RESTORE,0);




--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
Anikmar
Дата 25.5.2007, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 34
Всего: 59



А проверка эта точно один раз при запуске срабатывает? Вы случайно не в обработчик события ее поместили?
PM MAIL ICQ   Вверх
santey
Дата 25.5.2007, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 31.12.2005

Репутация: -1
Всего: -1



http://delcb.com/forum/viewtopic.php?p=358#358

вот здесь очень грамотное решение данной проблемы.
PM MAIL   Вверх
Klin
Дата 26.5.2007, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1938
Регистрация: 7.10.2002
Где: Краснодар

Репутация: 20
Всего: 25



Цитата

P.S. Единственный форум где так грамотно все объяснили.


Единственный форум, где так грамотно все переделали


--------------------
Я человек - попробуйте обвинить меня за это.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0806 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.