Использование NPAPI для обнаружения минимизации браузера - PullRequest
0 голосов
/ 29 апреля 2011

Есть ли способ использовать NPAPI, чтобы определить, свернут ли браузер.

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Так как я использовал основной анимационный слой. Я вставил таймер, который проверяет, как часто вызывается обратный вызов Candraw. Если разница во времени между двумя обратными вызовами больше секунды, я предполагаю, что мой плагин свернут или скрыт.

0 голосов
/ 29 апреля 2011

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

Например, в Windows вы можете получить браузер HWND (NPN_GetValue с NPNVnetscapeWindow) и затем проверить состояние этого окна с помощью вызовов Windows API.

На Mac у тебя будут тяжелые времена; Вы могли бы интуитивно понять информацию отсечения, передаваемую в NPP_SetWindow, но это не говорит вам, свернут ли браузер или просто не виден плагин (или даже вкладка). Опять же, вам нужно попытаться найти способ использовать системные вызовы, чтобы вернуться к реальному окну, но на Mac это будет очень нетривиально.

Linux я не уверен; вы получаете GtkSocket, если вы используете XEmbed (единственное, что поддерживает Chromium), и я понятия не имею, можете ли вы использовать его, чтобы вернуться туда, где вам нужно было бы проверить свернутое состояние.

Так что короткий ответ - нет; NPAPI не предоставляет ничего подобного. Вам просто нужно попытаться найти что-то, что оно предоставляет, которое дает вам достаточно информации, чтобы взломать его.

...