Roger1990 Ответов: 1

Как указать дескриптор из функции getdesktopwindow() в windowsproc при отправке сообщения


Я пытаюсь сделать дескриптор для всего рабочего стола, чтобы он указывал на windows proc. Как это можно сделать?

Что я уже пробовал:

Я попытался создать дескриптор окна и указать его на windows proc. Но я не могу найти в интернете никакой информации, которая позволила бы мне указать дескриптор рабочего стола на windows proc

Dave Kreskowiak

В этом нет никакого смысла.

Я не думаю, что кто-то имеет хоть какое-то представление о том, что вы пытаетесь сделать с ручкой окна рабочего стола.

Ravi Bhavnani

Я думаю, что он хочет написать WndProc, который будет обрабатывать сообщения, отправленные в окно рабочего стола. Мне кажется, что единственный способ сделать это-создать крюк.

/Рави

Dave Kreskowiak

Возможно. Но пытается ли он просто слушать сообщения окна рабочего стола или каждое показываемое окно?

Не знаю....

Roger1990

Да. Поэтому я хочу слушать все сообщения, которые посылаются мышью, клавиатурой и сенсорным вводом, на всем, что есть на экране. Я думал, что getdesktopwindow() может обеспечить дескриптор для всего на экране. Прошу прощения, если мои знания неверны, так как я начал использовать winAPI совсем недавно.

1 Ответов

Рейтинг:
12

Ravi Bhavnani

Я думаю, что вам может понадобиться создать крючок Windows для обработки сообщений, предназначенных для окна рабочего стола. Видеть этот[^] Статья MSDN и эта статья CP: Использование оконных сообщений для реализации глобальных системных Крючков В C#[^].

/Рави


Roger1990

Я сейчас этим занимаюсь. Спасибо

Roger1990

@Ravi Bhavnani: Эй, Рави, я смог использовать крючки для обнаружения событий мыши и клавиатуры, но я не могу понять, как я могу обнаружить сенсорные события, используя это.

Ravi Bhavnani

Видишь ли https://www.codeproject.com/Articles/381673/Using-the-RawInput-API-to-Process-MultiTouch-Digit.

/Рави

Roger1990

@Ravi Bhavnani: я смог обнаружить сенсорный ввод с помощью глобальных Крючков, как это было предложено вами. Любая идея, почему он не работает в регионе, охватываемом internet explorer, но это не так нигде на экране