Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
70 / 62 / 19
Регистрация: 03.05.2013
Сообщений: 397

Можно ли HOOK запихать в Класс?

22.09.2014, 22:31. Показов 1385. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Собственно вопрос именно так и звучит
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.09.2014, 22:31
Ответы с готовыми решениями:

Можно ли запихать функцию main() в класс для удобства?
Недавно увидел книжку по TurboVision. Там в основном файле было написано что-то типа: ClassName::start; Насколько я правильно понял,...

Как запихать свой класс в Settings?
Здравствуйте! Столкнулся тут с проблемой вот какого характера. Нужно в настройки программы(Settings) запихать переменную моего класса. ...

Можно ли запихать MenuBar в аплет или нет?
Доброго времени суток! У меня такой вопрос. Можно ли запихать MenuBar в аплет или нет?

6
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
22.09.2014, 22:38
Да. Какой хук?
0
70 / 62 / 19
Регистрация: 03.05.2013
Сообщений: 397
22.09.2014, 23:02  [ТС]
Хук на клаву, чтобы был класс с методами Hook Unhook.
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
22.09.2014, 23:07
CRIDEL, да. Но для этого придется использовать ассемблерные вставки. Если тебя это не останавливает, то могу подсказать. Можно сделать модуль, и распределять в нем вызовы в классы.
0
70 / 62 / 19
Регистрация: 03.05.2013
Сообщений: 397
22.09.2014, 23:10  [ТС]
Подскажи,если не в тягость, я в ассемблере нуль, но всегда надо с чего-то начинать
0
Модератор
10046 / 3892 / 883
Регистрация: 22.02.2013
Сообщений: 5,846
Записей в блоге: 79
22.09.2014, 23:24
Лучший ответ Сообщение было отмечено The trick как решение

Решение

1. Выделяешь память для исполнения и записи. Чтобы мог и записать в нее код и выполнить его.
2. Создаешь машинный код, который будет транслировать вызов из хук-процедуры в метод класса, либо вызывать событие класса. Без знаний ассемблера и опкодов тут делать нечего. Проблема в том что хук процедура имеет вид:
Visual Basic
1
Function Proc(nCode As Long, wParam As Long, lParam As Long) As Long
Метод класса же неявно первым параметром передает указатель на объект, а последним параметром указатель на возвращающееся значение, сам же возвращает HRESULT. Вот тебе нужно подправить стек добавив эти параметры если ты хочешь транслировать вызов в вызов метода.
3. Все это дело нужно заоптимизировать, чтобы все корректно освобождалось и для крохотного ассемблерного переходничка не выделять страницу по 4 кБ, а использовать одну страницу на все экземпляры.

Если нужно, я могу написать такой класс, но позже, сейчас занят. Может у кого есть готовый.
1
70 / 62 / 19
Регистрация: 03.05.2013
Сообщений: 397
23.09.2014, 14:25  [ТС]
Да в принципе, это не горит, просто было бы очень удобно
По сути мне нужен некий заменитель AddressOf, который будет выдавать делегат нужной функции в класс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.09.2014, 14:25
Помогаю со студенческими работами здесь

Можно ли в RichEdit запихать содержимое Word-файла (текст и картинки)?
Можно ли в RichEdit запихать содержимое ворд файла? (форматированный текст + картинки) Если можно, то пример какой-нибудь

Можно ли открыть .xnb, отредактировать его потом опять запихать?
Можно ли открыть .xnb, отредактировать его потом опять запихать? :)

Ищу контрол типа ComboBox, в который можно запихать насколько столбцов
Нашел пока только Акцесовский ComboBox, но не знаю, как записать в него рекордсет.

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

В чем преимущество trampoline hook над обычным hook?
Объясните пожалуйста в чем преимущество trampoline hook и hook? Никак не могу понять


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru