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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2014, 13:05   #1
Sergilio
 
Регистрация: 26.01.2012
Сообщений: 5
По умолчанию Блокировать нажатие кнопки мыши за пределами главного окна приложения не используя DLL

Всем добрый день.

Необходимо блокировать нажатия кнопок мыши за пределами окна приложения. Вариант с SetWindowsHookEx(WH_MOUSE..) в DLL не подходит, приложение должно быть одним целым файлом. Вариант с SetWindowsHookEx(WH_JOURNALRECORD.. .) также не подходит, т.к. не работает в Win7 и выше. Может быть, кто-то подскажет какой-нибудь способ, надеюсь, что он есть. Заранее спасибо.
Sergilio вне форума Ответить с цитированием
Старый 10.02.2014, 13:25   #2
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

не выпускать курсор за пределы окна, не?
ZuBy вне форума Ответить с цитированием
Старый 10.02.2014, 13:47   #3
Sergilio
 
Регистрация: 26.01.2012
Сообщений: 5
По умолчанию

Нет, курсор как раз нужно чтобы выходил, а вот на нажатия давать реагировать нельзя. Т.е. иначе говоря, приложение должно вести себя как модальное окно, но по отношению ко всему десктопу.
Sergilio вне форума Ответить с цитированием
Старый 10.02.2014, 13:55   #4
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
По умолчанию

Смотрите в сторону WinAPI.
Streletz вне форума Ответить с цитированием
Старый 10.02.2014, 14:05   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Очередной зловредный баннер?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 10.02.2014, 15:12   #6
Sergilio
 
Регистрация: 26.01.2012
Сообщений: 5
По умолчанию

Вот так и думал, что подумают на баннер и винлок! Нет, вы не угадали, ничего зловредного, но оправдываться тут я не буду. И также просьба не давать советов типа "смотри WinAPI". В отличие, видимо, от Вас, я его смотрел, и ничего подходящего, кроме вышеуказанной функции хука найти не смог. Поэтому я и прошу здесь помощи. А если сказать по делу нечего, то просьба вообще воздержаться от высказываний и не засорять форум и не тратить свое и мое время на бессмысленные посты.
Sergilio вне форума Ответить с цитированием
Старый 10.02.2014, 15:18   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от Sergilio Посмотреть сообщение
Вот так и думал, что подумают на баннер и винлок! Нет, вы не угадали, ничего зловредного, но оправдываться тут я не буду. И также просьба не давать советов типа "смотри WinAPI". В отличие, видимо, от Вас, я его смотрел, и ничего подходящего, кроме вышеуказанной функции хука найти не смог. Поэтому я и прошу здесь помощи. А если сказать по делу нечего, то просьба вообще воздержаться от высказываний и не засорять форум и не тратить свое и мое время на бессмысленные посты.
а ничего кроме хука нормально вы и не сделаете.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 10.02.2014, 15:20   #8
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

а как на счет сделать скрин и поместить его на фейк-форму, а поверх ваше модальное окно. ну это как-то по-детски
ZuBy вне форума Ответить с цитированием
Старый 10.02.2014, 15:50   #9
Sergilio
 
Регистрация: 26.01.2012
Сообщений: 5
По умолчанию

Цитата:
Сообщение от ZuBy Посмотреть сообщение
а как на счет сделать скрин и поместить его на фейк-форму, а поверх ваше модальное окно. ну это как-то по-детски
Да, я про это думал, но некрасиво как-то уж слишком. Уж лучше я DLL в ресурсы EXE впаяю и буду ее при запуске в файл сохранять и с ней работать (хотя тоже решение красотой не блещет). Но за идею спасибо)

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а ничего кроме хука нормально вы и не сделаете.
Т.е. все-таки нет иных способов?

Последний раз редактировалось Stilet; 10.02.2014 в 16:37.
Sergilio вне форума Ответить с цитированием
Старый 10.02.2014, 15:53   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Да как-то не хочется вам говорить о идеях и методах, когда цель близка к зловредам.

И да, без перехвата вы не сможете, хуки длятого и придуманы чтобы что-то запрещать.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
примагничевание главного окна своего приложения к окнам чюжих приложений beegl Общие вопросы Delphi 7 15.03.2013 13:35
Замена линий, используя кнопки мыши Mehanizator Помощь студентам 2 24.08.2011 12:59
Нажатие кнопки мыши в чужом окне gufon Общие вопросы Delphi 2 29.06.2011 21:03
нажатие левой кнопки мыши beygul Помощь студентам 6 13.05.2010 20:04
Как получить handle главного окна, зная имя приложения? Altera Win Api 8 22.12.2008 18:52