Здравствуйте, alexey_ma, Вы писали:
_>Создайте в хуке свой собственный поток, который стоит и ждет например поименнованного эвента, в Вашем процессе делаете SetEvent этому самому эвенту, хуковый поток просыпаеться и вызывает нужную Вам функцию в чужом контексте и опять уходит в ожидание. Если нужны какие-то дополнительные параметры для выполнения функции в хуковом потоке, то можете записать их в поименованный мап файл перед тем как сделать SetEvent, соответственно хуковый поток проснувшись по эвенту сначала читает нужные ему данные из мап-файла а потом выполняет функцию в чужом контексте, и если нужно передать какие либо результаты выполнения обратно в Ваш процесс, то в тот же мап эти результаты пишет.
Допустим написал функцию хука, которая создает поток (пока не пойму какой тип хука это будет). Потом установил этот хук (setwindowshookex), но ведь чтобы функция хука запустилась нужны некие события (в зависимости от типа хука — например нажатие клавиши клавиатуры/мыши или получение сообщения) и пока эти события не произойдут функция не запустится и не создаст поток. Или я где-то не прав???
_>Чего Вы все-таки делаете (в двух словах) ?
Пытаюсь переключать язык (раскладку клавиатуры).