2016-10-25 4 views
0

Я рассматриваю использование электрона для разработки настольного приложения, которое захватывает компьютерные действия с помощью Mac. Раньше я планировал использовать API-хранилище, но проект исследования пользователей, над которым я работаю, требует более подробных данных об использовании компьютера. Теперь я могу использовать global-shortcut, чтобы зарегистрировать некоторые действия, но я мог только запустить его на основном процессе, а не на процесс рендеринга.Electron: как захватить компьютерные действия с помощью электронного приложения?

Я также задаюсь вопросом, могу ли я обнаружить, когда пользователь переключает задачу из одного приложения в другое, например, переключается с фотошопа на хром, закрывает/сводит к минимуму окно другого приложения и т. Д.?

Есть ли у кого-нибудь идеи о том, как это сделать? Или есть ли какой-либо API/пакет для этого использования?

(PS:. Robot.js кажется уместным, но она слишком сложна и требует тонны зависимостей, которые слишком сложны для моего проекта)

+0

вы можете использовать глобальный ярлык в своем основном процессе, а затем отправлять сообщения в средство визуализации с помощью BrowserWindow.webContents.send (msg) –

ответ

3

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

Интересно, если я мог определить, когда переключатель пользователя задача из одного приложения в> другой, как переход от фотошопа хромы, закрытия/минимизируя окно> другого приложения, а затем нажмите ctrl + s и т. д.?

Предполагает, что окно вашего приложения не будет иметь фокуса во время многих нажатий клавиш, которые вы должны были бы захватить. v8 и другие приложения на базе браузера не имеют доступа к системе api, что вам нужно будет захватить эту информацию.

What you need to use if you're on Windows.

Если вы не/можете не хотите писать собственный код, вам нужно будет использовать DllImport на user32.dll.

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