Работа с выделенным текстом

Кирилл

Команда форума
Администратор
Ассоциация VN
Сообщения
14,069
Реакции
5,784
Привет!
Не знаю угадал ли с разделом,но это точно не из bat.
Необходимо понять,как можно работать с выделенным текстом на скриптовом языке - копировать,отправить и т.д.
Читал описание некоторых функций,типа GetWindowText или там уже было С+ а это не подходит и т.д.
Возможно (?) power cshell справится.

В общем как то так...
 
Ну допустим, API-фукнции я могу тебя научить вызывать и из скриптов. Даже писал функцию для удобной авторегистрации DynWrapX в системе. Выложу потом.

Большую проблему составляет добавление своего пункта контекстного меню в браузер.
Для каждого это делается по-своему. А ведь активацию пункта еще и должна предполагать вызов внешнего скрипта.

У меня есть одна идея, но это не совсем твой и мой уровень. Продолжу по теме, когда у меня будет больше информации.
 
Большую проблему составляет добавление своего пункта контекстного меню в браузер.
Для каждого это делается по-своему. А ведь активацию пункта еще и должна предполагать вызов внешнего скрипта.
Да,я об этом знаю - тоже в свое время голову ломал,делал простенькие плагины поиска по форуму для хрома.
Но сейчас речь не о браузере,мне нужно доделать твик поиска из контексного меню проводника.
Не хватает возможности поместить в буфер обмена текст,который потом будет отсылаться поисковикам на запрос.

То бишь работать с выделенным текстом...

Ну допустим, API-фукнции я могу тебя научить вызывать и из скриптов. Даже писал функцию для удобной авторегистрации DynWrapX в системе. Выложу потом.
Ок.
 
Последнее редактирование:
пример:
открыт текстовый файл,либо любой другой файл в текстовом редакторе.
мне нужно часть текста отправить в поиск.
для этого как понимаю его необходимо пкм мышкой выделить.
например md5 из xml ,или имя файла.
 
Понятно.
Как и говорил, решение будет нескоро.
 
Последнее редактирование:
открыт текстовый файл,либо любой другой файл в текстовом редакторе.
мне нужно часть текста отправить в поиск.

У разных текстовых редакторов может быть свое меню, разве нет ?

Вопрос: где в реестре находится контекстное меню текста ?


И если оно и правда есть, то почему бы не использовать WshShell.SendKeys("^{С}"); , а далее перенаприавить содержимое буфера ?
Так
VB.NET / VBA:
clipboard = CreateObject("HTMLFile").parentWindow.clipboardData.getData("text")
set ShellApp = CreateObject("Shell.Application")
CreateObject("WScript.Shell").Run "explorer ""https://google.ru/search?ie=UTF-8&hl=ru&q=" & clipboard & """"

только я понятия не имею, как прикрутить это к к контекстному меню
 
Последнее редактирование:
Вопрос: где в реестре находится контекстное меню текста ?
Проблема в том, что - нигде.
За контекстное меню конкретного приложения отвечает код от разработчика этого приложения.
 
открыт текстовый файл,либо любой другой файл в текстовом редакторе.
Кирилл, так может просто использовать Lister из Total Commander, а там это делается легко и здесь уже обсуждалось?
п.с.
Кажись Sandor им пользуется постоянно, а я время от времени, т.к. обычный блокнот как-то привычнее и присутствует на всех компах.
Вот если бы эти возможности ты сделал именно для блокнота, тогда было бы очень здорово))

Screenshot_1.jpg
 
Последнее редактирование модератором:
Koza Nozdri, если я правильно понял, то стоит задача поместить в контекстное меню всех текстовых редакторов пункт меню для того, чтобы что-то сделать с выделенным текстом.
Если это нужно, чтобы просто отправить выделенный в поисковик, то ты пытаешься повторить функцию "Найти в Яндексе" из Punto Swither.
Но я хотел бы обратить внимание твоё внимание на функцию "Показать меню вставки автозамены", это как раз то, что ты хочешь. Эта функция является контекстным меню, работающим с выделенным в данный момент текстом, но вызываемым горящей клавишей.
К сожалению, для того, чтобы повторить такое нужен язык программирования высокого уровня.
Если кто-то захочет взяться за реализацию, то начинать надо с WS_POPUP.
WS_POPUP - это такой стиль окна, когда работающее приложение не отбирает фокус ввода у другого. Это позволяет определить в каком окне сейчас выделен текст.
 

Вложения

  • 32.png
    32.png
    21.1 KB · Просмотры: 96
  • 33.png
    33.png
    19.7 KB · Просмотры: 106
Последнее редактирование:
Гимаев Наиль, кстати тоже всё собирался написать. Что чем писать какую-то прогу которая будет интегрироваться в текстовые редакторы лучше сделать прогу, которая постоянно будет висеть в трее и срабатывать по комбинации клавиш. @glax24 писал подобную утилиту для проверки CLSID.
 
regist, да, тоже рассматриваю такой вариант. На подобие, как делает Abbyy Lingvo (при клике Ctrl по выделенному тексту - перевод всплывающим окном).
 
Когда мне нужно было решить подобную задачу (обработка выделенного текста в любой программе), то я написал безоконную программу.
Т.к. программа безоконная, то она не могла отнять фокус у другой программы, т.е. активной оставалась программа с выделенным текстом.
При запуске моя программа эмулировала нажатие Ctrl+C, получала текст из буфера обмена и делала с ним, всё что хотела.
А для того, чтобы она запускалась по нажатию горячей клавиши, я поместил в Пуск ярлык, а в ярлыке прописал горячую клавишу.За основу контекстного меню вызываемого горячей клавишей можно взять http://www.codeproject.com/Articles/32563/Virtual-On-Screen-Keyboard-Example
 
Гимаев Наиль, большое спасибо за ваши мысли!
Честно,описание в сети скудное - тяжело,особенно если не владеешь программированием в должном уровне.

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

Что чем писать какую-то прогу которая будет интегрироваться в текстовые редакторы лучше сделать прогу, которая постоянно будет висеть в трее и срабатывать по комбинации клавиш.
К сожалению простота твика при этом сводится к нулю,как и возможность его модернизации для меня...в таком случае либо придется доводить идею с помощью единомышленников до ума и в свободное плавание,либо отказаться от опции обработки выделенного текста как в основном теле твика.
Есть над чем задуматься,но при этом огромный интерес к данной теме остается.
Некоторые языки в лохматом прошлом еще грыз с горем пополам,так что если не сложно - жду ссылок куда почитать...это сократит количество разрывов моей мозговой ткани...
 
Koza Nozdri, как и говорил. Просто не получится.
Продолжай делать остальную часть так, будто эта уже готова,
например, как выглядят запросы к каждой из поисковых систем. Только уже не в этой теме.

Сюда вернусь с помощью как закончу часть своих программ.
Гимаев Наиль, любопытно. Почитал. Спасибо. Как самый простой вариант сгодится.
 
Назад
Сверху Снизу