Я уже нашел то, что надо:
- Код: Выделить всё
SetWindowsHookEx(WH_JOURNALRECORD,Addressof MouseProc, 0, 0)
устанавливает глобальный хук, я так понял, на все виртуальные клавиши. Прога работает даже без формы, что радует. Но вот если из самой проги что-то неаккуратно сделать, то возникают ошибки типа "Out of stack, out of memory" с фатальным выходом из VB. Из чего я делаю вывод, что настройки моей проги должны быть выполнены в отдельном EXE-шнике, а в хукер передаваться через параметры командной строки. Это фигня вопрос. Но есть проблема: в хукере идут строки
- Код: Выделить всё
Sub Main()
Interrupt=False
hHook=SetWindowswHookEx(WH_JOURNALRECORD,Addressof MouseProc, 0, 0)
Do While Not Interrupt
DoEvents
Loop
UnhookWindowsHookEx hHook
End Sub
Без DoEvents в цикле никак нельзя, иначе после установки хука программа завершается (???). Так вотъ сейчас у меня в хукере в модуле прописано
- Код: Выделить всё
Interrupt=True
если нажата 4-я кнопка мыши, но удобнее будет вырубать хукера из SystemTray. О том, чтобы запихивать в трей самого хукера не может быть и речи, чем он проще, тем меньше глюков. Значит в трей я пихаю прогу которая будет отвечать за настройки, но тогда мне надо передать в хукер значение переменной Interrupt. Как мне это сделать для случая, когда и настроечная программа и хукер запущены?? Можт кто знает, просто я мало работал с функциями для памяти.

With respect, Dr. Implex