powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выбор способа (и языка) для чего-то подобного PuntoSwitcher
15 сообщений из 15, страница 1 из 1
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232705
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги,
кто сталкивался, прошу подсказать в какую сторону копать.

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

Насколько помню Рихтера (я много лет как с С++ ушел в .net) первое делается хуками, а вот второе - даже примерно пока не понимаю. Вопрос в том, как это делается (куда копать), и принципиально ли использовать С++, или можно C# (не охота делать связку, взять уж что-то одно).
Целевая платформа: windows 7-8-10. Смущает низкоуровневость хуков, какие тут могут быть проблемы в той же 10-ке (с правами, API и пр.). Спасибо!
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232712
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автори принципиально ли использовать С++, или можно C#

Можно использовать практически любой .NET язык и все старые нативные среды разработки. MS VC, VB6, Delphi,

авторкакие тут могут быть проблемы в той же 10-ке

при запуске от админа никаких
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232713
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,
ну а как тот же PuntoSwitcher работает? Или он требует админских прав? Как у юзеров в офисах (очевидно, без этих прав) он работает тогда?
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232724
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpaceEolt,
ну а как тот же PuntoSwitcher работает?

А я откуда знаю. Возможно он ставит службу, которая хучит клаву и мышку, и посылает сообщения клиенту PuntoSwitcher.
Вариантов масса.
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232730
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,
ну вот про это как раз вопрос, каким путем лучше изначально пойти, чтобы получить наиболее стабильный и рабочий вариант. Служба - т.е. windows service? А есть мысли как делать обратную процедуру - вставлять текст?
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232747
Фотография VSVLAD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpace,

По пункту 2. у меня есть проект с такой реализацией: в буфер копируется необходимый текст, и эмулируется нажатие Ctrl+V, текст вставляется в текстовый редактор/форму. В данной связки проблем не возникало, и как решение может быть использовано
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232913
Пётр Седов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpace2. иметь возможность вставлять текст туда, где он это делает.Слать оконное сообщение WM_CHAR? Вызывать WinAPI-шную функцию SendInput? Сам такими вещами не занимался.
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232931
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VSVLAD, буду благодарен за сниппет.

Кстати, вот тут: https://habrahabr.ru/post/241656/ чел говорит, что есть проблемы с хуками в скайпе, но ему никто там не смог ответить почему. Есть мысли? Почему в принципе может не работать хук/вставка текста (кроме прав доступа, что решается, как я понял, использованием сервиса)?
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39232959
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpaceКоллеги,
кто сталкивался, прошу подсказать в какую сторону копать.

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

Насколько помню Рихтера (я много лет как с С++ ушел в .net) первое делается хуками, а вот второе - даже примерно пока не понимаю.
Первое хуками, второе просто отправка сообщения SendMessage()/PostMessage(), только надо знать хэндл куда слать.

Думаю надо С/С++ вспоминать. Если не путаю, хук вешается на сообщение (указывается какую функцию из DLL запустить), по приходу сообщения DLL загружается в процесс-получатель сообщения и функция вызывается. Читай про SetWindowsHookEx(). Можно ли это сделать на .Net - не знаю.

Перечитай Рихтера.
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233016
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltTopSpaceEolt,
ну а как тот же PuntoSwitcher работает?

А я откуда знаю. Возможно он ставит службу, которая хучит клаву и мышку, и посылает сообщения клиенту PuntoSwitcher.
Вариантов масса.

Нет, она просто хучит только приложения данного пользователя, а для этого никаких админских прав ненужно.
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233017
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TopSpace,

Язык однозначно С или С++.
На .net это делать... ну, можно, наверное, но нерационально -- всё же нужно думать о компактности бинарного кода.
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233055
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
MasterZivНа .net это делать. http://www.sql.ru/forum/958071/globalnyy-huk-na-c
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233887
TopSpace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем спасибо! Перехватом клавиш работает, вот здесь хороший код есть: https://github.com/kurumpa/dotSwitcher
Осталось прогнать под разные версии ОС и права доступа. Странно, что даже навороченный PuntoSwitcher (уж сколько его пилят) в ряде случаев не работает. Задача вроде бы не сильно сложная, но 100% рабочего решения пока не вижу. И это все только винда, а как, интересно, сделать под другие платформы? (на том жу Qt)
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233989
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вроде как PuntoSwitcher работал на простом перехвате клавы и имитации нажатия на кнопки.
всегда не любил работать на тех компах, где стоит эта программа :)
...
Рейтинг: 0 / 0
Выбор способа (и языка) для чего-то подобного PuntoSwitcher
    #39233992
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesвроде как PuntoSwitcher работал на простом перехвате клавы и имитации нажатия на кнопки.
всегда не любил работать на тех компах, где стоит эта программа :)
Ты просто ей пользоваться не умеешь :) Надо ей запретить самостоятельно переключаться, тогда становится удобно.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выбор способа (и языка) для чего-то подобного PuntoSwitcher
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]