Для использования растрового изображения, скриншота и перевода экрана используется аморфное прозрачное окно, в котором некоторые области реагируют на события мыши и клавиатуры, а другие области предназначены только для отображения.
Положение курсора мыши определяется с помощью screen.getCursorScreenPoint()
, затем вычисляется относительное положение путём вычитания положения окна, и это относительное положение отправляется в процесс рендеринга.
Процесс рендеринга получает относительное положение и использует elementFromPoint(s)()
для определения элемента, на котором находится курсор мыши. Здесь можно использовать JavaScript для проверки, является ли элемент кликабельным, после чего логическое значение отправляется главному процессу. Главный процесс устанавливает режим игнорирования событий мыши setIgnoreMouseEvents
в зависимости от логического значения.
Однако macOS и Wayland не поддерживают получение позиции курсора за пределами окна, поэтому после того, как окно становится прозрачным для мыши, позицию курсора больше невозможно получить. Скриншот используется нечасто, вместо этого используются глобальные сочетания клавиш для имитации щелчка мыши, и других решений пока нет.
Можно получить желаемый каталог выполнения на основе глубины скомпилированных файлов JavaScript, используя path.join(__dirname, 向上目录深度)
. Для eSearch скомпилированные каталоги — это eSearch/out/main/main.js
и eSearch/out/renderer/*.html
, а определённый runPath
— join(__dirname, '../../')
, то есть каталог проекта.
Следует отметить, что eSearch не использует упаковку asar, и при использовании app.isPackaged
значение __dirname
может отличаться, рекомендуется провести собственные эксперименты.
Обычно текущий язык можно получить с помощью app.getLocale()
, но чтобы уменьшить размер пакета, eSearch удалил каталог locales
, а app.getLocale()
зависит от каталога locales
. Более подходящий способ — использовать app.getPreferredSystemLanguages()
, который является настоящим API для получения системного языка.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )