Меня облучил один сомнительный волшебник, и теперь я пишу бездарные тексты.
-14
416
65
1 081

Заходил

Написал комментарий к посту Умные кавычки

Поясню:

«keyboard» - это библиотека для языка программирования Python, которая позволяет программе полностью управлять клавиатурой: отслеживать нажатия клавиш в любой программе, имитировать ввод с клавиатуры и создавать глобальные «горячие клавиши».


«pyautogui» - это библиотека для Python, которая позволяет программно управлять мышью и клавиатурой, а также работать с экраном (делать скриншоты, искать изображения на экране). В отличие от keyboard, она не перехватывает глобальные события, а просто имитирует действия пользователя в активном окне.


Без прав администратора Windows НЕ позволяет перехватывать нажатия глобально (пока ты в браузере, мессенджере, Ворде и тд, а программа в фоне). Это ограничение ОС, не моя прихоть. Альтернативы без админ-прав (SendInput, блокировка через фильтр-драйвер, DLL-инжект) либо сложны, либо требуют прав, либо не подходят для автозамены кавычек.


Если хотите - сделать версию без админ-прав, тогда она будет работать ТОЛЬКО внутри самой программы, а не во всех приложениях.

Смысл тогда?


Автозамена в редакторе - это 10 разных настроек в 10 разных местах.

А с моей программой - запустил 1 раз и забыл. Работает везде: Word, Telegram, браузер, IDE.


Попробуйте сделать две демо-версию - увидите разницу.


Прежде чем умничать, вы хотя бы в нейронке спросите, зачем и почему.
В той же нейронке возьмите мои ответы и вставьте и там вам разжуёт, а то из пустого в порожни.

Я говорю: она позволяет глобально использовать кавычки.
Вы мне: Дак можно использовать библиотеки, которые не выполняют твою задачу!



В техническом: глобальный перехват нажатий вне вашего окна в Windows без прав невозможен в принципе. Именно это делает keyboard (и pynput, и любой низкоуровневый хук). pyautogui без прав не может отслеживать нажатия, пока вы переключились в Telegram — он только отправляет события, но не слушает их глобально.


Ключевая ошибка: «легко накатать скрипт на питоне, который будет отправлять нажатия без админских прав»

— Отправлять (эмуляция) — да.
— Слушать глобально (чтобы заменить [1] на [«] в чужом приложении) — нет.

Без прав Windows блокирует SetWindowsHookEx с WH_KEYBOARD_LL.

Поэтому либо админские права для глобальной автозамены, либо локальная автозамена только внутри своего окна (бесполезно). Третьего не дано.


Единственное уточнение: администраторские права нужны не всегда для WH_KEYBOARD_LL (на десктопных Windows без UAC-обхода — да, но есть нюансы с режимом совместимости и старыми версиями). Однако библиотека keyboard на Windows действительно часто их запрашивает из-за способа установки хука через внедрение в системный поток.


Так что итог: программа с глобальной автозаменой кавычек под Windows без прав администратора - миф. Либо права, либо не работает.

Написал комментарий к посту Умные кавычки

Из личного опыта

Я не всегда печатаю в редакторах. Иногда это заметки, поля ввода, мессенджеры или IDE. Настраивать автозамену везде - невозможно. Поэтому я сделал эту утилиту для себя.
Делиться стал на случай, если кому-то тоже пригодится.


Техническое объяснение

Но вы не совсем правы в том, что «это вообще не нормально» - для низкоуровневых хуков (WH_KEYBOARD_LL) администраторские права не требуются по умолчанию.

Проблема была в библиотеке «keyboard», которую я использовал. Она требует прав из-за своего внутреннего устройства (работа с драйверами на Linux и особенности реализации на Windows).

🐍 Да, она на питоне. Простая, переносимая, без установки. Можно за минуту сделать при помощи любой ИИ.

Написал комментарий к произведению Кровь дракона

В целом, первая глава задаёт интересный тон для дальнейшего развития сюжета, предлагая множество вопросов и загадок.

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

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

 Прочитал все главы за один раз и с нетерпением жду продолжения. 👍 

Наверх Вниз