Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Хочу, чтобы программа не сварачивалась!? при нажатии Windows+D??? 
:(
    Опции темы
Nicholas
  Дата 16.10.2004, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 0



При нажатии Windows+D прграмма сварачивается, а как это устранить????

sample.gif
PM MAIL ICQ   Вверх
Alkash
Дата 16.10.2004, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


коллекционер жизни
**


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

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



Отловить нажатия клавишь, и по их нажатию не давать свернуться.


--------------------
Подпись >> /dev/null
PM MAIL ICQ MSN   Вверх
Alex
Дата 16.10.2004, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 80
Всего: 162



Цитата(Nicholas @ 16.10.2004, 13:31)
При нажатии Windows+D прграмма сварачивается, а как это устранить????

Тебе только по нажатию комбинации нужно или что бы вообще не сворачивалась?


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
decoder
Дата 16.10.2004, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 18.5.2004
Где: Харьков(хохол, к сожалению)

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



Если Виндовз+Ды из ряда Альт+Ф4, то одним хуком тут не обойтись... В смысле, если хуку на Альт+Ф4 написать "резалт = 1", то пофиг Альт+Ф4 проскочит. Парадоксальный способ: MessageBox поставить - управление не возвращает, пока ОК не нажмёшь (это если комбинацию клавиш оконная функция не отлавливает, иначе придётся ещё и оконную функцию модифицировать...) - Альт+Ф4 из системной очереди сообщений просто исчезает!
--------------------
Молчать, я вас спрашиваю!
PM MAIL   Вверх
Nicholas
Дата 18.10.2004, 07:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 0



Цитата(Alex @ 16.10.2004, 13:50)
Тебе только по нажатию комбинации нужно или что бы вообще не сворачивалась?



Хотелось бы оба варианта увидеть, или хоть по по нажатию как???
:sample
PM MAIL ICQ   Вверх
Snowy
Дата 18.10.2004, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



IMHO долхлый номер. Win+D не победить. Работает всегда. Если только в реестре запретить Win комбинации и перезагрузить систему.
PM MAIL   Вверх
imageman
Дата 18.10.2004, 11:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



а если попробовать следить за состоянием окна? Координаты, видимость.

А если после Win-D свое окно минимазировать и опять восстановить?

Только что проверил на одной старой программе - там особыми параметрами окна делалось Always Top. - при нажатии win-D сначала окно минимизируется и тут же самостоятельно выскакивает обратно.

Это сообщение отредактировал(а) imageman - 18.10.2004, 12:42
PM MAIL   Вверх
~FoX~
Дата 18.10.2004, 11:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

Репутация: 13
Всего: 68



Хм.......а если отловить WM_MINIMIZE и развернуть окно обратно
З.Ы. Проверить не могу только что систему переставил


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Akella
Дата 18.10.2004, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



может можно отлавдивать сообщения и реагировать на них по своему
хотя
Цитата
IMHO долхлый номер. Win+D не победить.
я с этим тоже согласен
PM MAIL   Вверх
Snowy
Дата 18.10.2004, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



У меня сработал вот такой вариант:

Кидаем на форму TApplicationEvent. Создаем событие OnMessage.

Код

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
 Application.BringToFront;
 Form1.FormStyle:=fsStayOnTop;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.Minimize;
end;


Как ни странно, если форму не минимизировать хотя бы раз, она не хочет обманывать Win+D. Поэтому при OnCreate сразу ее минимизим, и тогда она всегда лезет наверх.

PM MAIL   Вверх
~FoX~
Дата 19.10.2004, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

Репутация: 13
Всего: 68



Snowy
Странно, у меня не получается :(


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
<Spawn>
Дата 19.10.2004, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Око кары:)
****


Профиль
Группа: Экс. модератор
Сообщений: 2776
Регистрация: 29.1.2003
Где: Екатеринбург

Репутация: 44
Всего: 64



Попробуй поставить хук WH_CBT и ловить Code = HCBT_MINMAX, с последующей установкой результата функции хука в 1.


--------------------
"Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков.
PM MAIL ICQ   Вверх
Nicholas
Дата 19.10.2004, 10:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: нет
Всего: 0



Цитата(Snowy @ 18.10.2004, 16:21)
Кидаем на форму TApplicationEvent. Создаем событие OnMessage.


:D
И у меня работает на Win XP, а на Win9x пробывал кто??
:qstn
PM MAIL ICQ   Вверх
imageman
Дата 19.10.2004, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я сделал таймер и поставил в нем
Код

  win:=FindWindow('IEFrame',nil);
  style := GetWindowLong(win, GWL_EXSTYLE);
  if (style and WS_EX_TOPMOST) <> 0 then begin
       Showwindow(win,SW_MAXIMIZE);
       SetActiveWindow(win);
  end
  else begin
    ShowWindow(win, sw_hide);
    SetWindowPos(win, HWND_TOPMOST, 0,0,screen.Width,screen.Height, SWP_NOMOVE or SWP_NOSIZE or SWP_SHOWWINDOW);
  end;


после этого окно нельзя надолго свернуть. Сделано, конечно криво!

Более грамотно сделано в TheBat - когда новое письмо приходит, то MailTicker не пропадает (у меня даже по Win-D). Может это из-за того, что оно постоянно обновляется?
PM MAIL   Вверх
Akella
Дата 31.1.2005, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Цитата(dsergey @ 18.10.2004, 15:49)
может можно отлавдивать сообщения и реагировать на них по своему
хотя
Цитата
IMHO долхлый номер. Win+D не победить.

я с этим тоже согласен


а теперь не согласен
у соседа игрушка отключает все подобные (для сворачивания) комбинации. Не смогли свернуть ее в панель задач smile
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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