2016-06-03 2 views
-1

Я разрабатываю 3D-приложение для рабочего стола like this, где дублирую рабочий стол, создавая плоскости в трехмерном пространстве, используя растровое изображение каждого окна как текстуру, а затем передавая им входной сигнал мыши и клавиатуры (фоновые окна) через API окон.Пропустите мышь и клавиатуру в фоновом режиме без потери фокуса

Этот подход вызывает несколько проблем, и главное, что некоторые окна с щелчком генерируют новые всплывающие окна, такие как меню, которое появляется поверх 3D-приложения и крадет фокус. Возможно ли дублировать поведение рабочего стола в другом приложении, как это, без потери внимания и сохранения 3D-приложения сверху?

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

+2

Невозможно. Единственный надежный способ генерировать ввод - это использовать «SendInput». И это требует, чтобы назначенная цель была передним окном. Это то, чего вы не хотите. – IInspectable

+0

Вы пытаетесь ** отправить ** вход? Или вы пытаетесь ** получать ** ввод в фоновом режиме? В последнем случае просмотрите [Raw Input API] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms645536.aspx). –

ответ

0

Очевидно, что это невозможно. Нет надежного способа сделать это без потери внимания.

Смежные вопросы