Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.09.2011, 15:20
Pcrepair
 
Сообщения: n/a
По умолчанию Блокировка клавы и мыши для активных приложений

Добрый день!
Есть следующая ситуация:
- запущена ОС Win XP
- запущено несколько приложений (браузер, текстовый редактор, любые другие приложения)
- запускается Программа
Вопросы:
1. как сделать так чтобы данные из клавы и мыши не поступали в запущенные активные приложения (браузер, текстовый редактор и прочие), но поступали в Программу (когда она в фокусе конечно) и в ОС (можно было выбирать запущенные приложения мышкой или сочетанием клавиш)
2. какие методы использовать? глобальный хук что еще?
3. или может возможно только заблокировать перенос фокуса на другие активные приложения?
если есть код хорошо было бы посмотреть
Спасибо за внимание
Ответить с цитированием
  #2  
Старый 04.09.2011, 19:08
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

есть такая функция енаблевиндоу. как раз включает и выключает посылку сообщений мыши и клавы окну.
Ответить с цитированием
  #3  
Старый 04.09.2011, 19:23
Pcrepair
 
Сообщения: n/a
По умолчанию

Код:
BOOL EnableWindow
(
  HWND hWnd,    // дескриптор окна
  BOOL bEnable  // флажок для включения или отключения ввода информации
);
ОНО?
то есть при запуске Программы вначале нужно получить дескрипторы всех уже открытых окон, кроме Рабочего стола и нужных программ
затем вставить значения дескрипторов в выше указанную функцию с флагом отключить и все это запустить (много раз, по числу ненужных открытых окон)
до следующей перезагрузки ОС дескрипторы остаются прежними
Ответить с цитированием
  #4  
Старый 04.09.2011, 19:29
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

да оно. находи окна через енумвиндоус.
Ответить с цитированием
  #5  
Старый 04.09.2011, 20:06
Pcrepair
 
Сообщения: n/a
По умолчанию

вообще то задача не совсем точно сформулирована
если применить эту функцию в окно вообще не получится ничего передать?

нужно блокировать передачу данных от мыши и клавы, но аналог данных мыши и клавы должен идти из Программы в окно выбранного приложения
в общем программа управляет программой

как быть в этом случае?
Ответить с цитированием
  #6  
Старый 05.09.2011, 18:28
einstein einstein вне форума
Начинающий
 
Регистрация: 02.09.2010
Адрес: Город
Сообщения: 143
Репутация: -4653
По умолчанию

поставь хук
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:54.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025