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

Тема в разделе "Visual Basic 6 / Сценарии VBScript, JScript", создана пользователем Kиpилл, 27 июн 2014.

  1. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

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

    В общем как то так...
     
  2. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
  3. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

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

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

    У меня есть одна идея, но это не совсем твой и мой уровень. Продолжу по теме, когда у меня будет больше информации.
     
  4. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

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

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

    Ок.
     
    Последнее редактирование: 27 июн 2014
  5. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Какой в проводнике выделенный текст?
     
  6. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    пример:
    открыт текстовый файл,либо любой другой файл в текстовом редакторе.
    мне нужно часть текста отправить в поиск.
    для этого как понимаю его необходимо пкм мышкой выделить.
    например md5 из xml ,или имя файла.
     
  7. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Понятно.
    Как и говорил, решение будет нескоро.
     
    Последнее редактирование: 27 июн 2014
    Kиpилл нравится это.
  8. vavun
    Оффлайн

    vavun Активный пользователь

    Сообщения:
    80
    Симпатии:
    32
    У разных текстовых редакторов может быть свое меню, разве нет ?

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

    И если оно и правда есть, то почему бы не использовать WshShell.SendKeys("^{С}"); , а далее перенаприавить содержимое буфера ?
    Так
    Код (vb.net):
    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 & """"
    только я понятия не имею, как прикрутить это к к контекстному меню
     
    Последнее редактирование: 28 июн 2014
  9. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Проблема в том, что - нигде.
    За контекстное меню конкретного приложения отвечает код от разработчика этого приложения.
     
    Kиpилл нравится это.
  10. shestale
    Оффлайн

    shestale Ассоциация VN/VIP Преподаватель

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

    Screenshot_1.jpg
     
    Последнее редактирование модератором: 28 июн 2014
    Kиpилл и Sandor нравится это.
  11. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Так я тоже так думаю)
     
  12. Гимаев Наиль
    Оффлайн

    Гимаев Наиль Пользователь

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

    Вложения:

    • 32.png
      32.png
      Размер файла:
      47,9 КБ
      Просмотров:
      12
    • 33.png
      33.png
      Размер файла:
      45,1 КБ
      Просмотров:
      14
    Последнее редактирование: 28 июн 2014
    Kиpилл и Dragokas нравится это.
  13. regist
    Оффлайн

    regist гоняюсь за туманом Ассоциация VN/VIP VIP Разработчик

    Сообщения:
    11.382
    Симпатии:
    5.268
    Гимаев Наиль, кстати тоже всё собирался написать. Что чем писать какую-то прогу которая будет интегрироваться в текстовые редакторы лучше сделать прогу, которая постоянно будет висеть в трее и срабатывать по комбинации клавиш. @glax24 писал подобную утилиту для проверки CLSID.
     
    Kиpилл нравится это.
  14. Dragokas
    Оффлайн

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    regist, да, тоже рассматриваю такой вариант. На подобие, как делает Abbyy Lingvo (при клике Ctrl по выделенному тексту - перевод всплывающим окном).
     
    Kиpилл нравится это.
  15. Гимаев Наиль
    Оффлайн

    Гимаев Наиль Пользователь

    Сообщения:
    59
    Симпатии:
    98
    Когда мне нужно было решить подобную задачу (обработка выделенного текста в любой программе), то я написал безоконную программу.
    Т.к. программа безоконная, то она не могла отнять фокус у другой программы, т.е. активной оставалась программа с выделенным текстом.
    При запуске моя программа эмулировала нажатие Ctrl+C, получала текст из буфера обмена и делала с ним, всё что хотела.
    А для того, чтобы она запускалась по нажатию горячей клавиши, я поместил в Пуск ярлык, а в ярлыке прописал горячую клавишу.
    --- Объединённое сообщение, 28 июн 2014, Дата первоначального сообщения: 28 июн 2014 ---
    За основу контекстного меню вызываемого горячей клавишей можно взять http://www.codeproject.com/Articles/32563/Virtual-On-Screen-Keyboard-Example
     
    Kиpилл и Dragokas нравится это.
  16. Kиpилл
    Оффлайн

    Kиpилл Команда форума Администратор

    Лучший автор месяца

    Сообщения:
    12.232
    Симпатии:
    4.980
    Гимаев Наиль, большое спасибо за ваши мысли!
    Честно,описание в сети скудное - тяжело,особенно если не владеешь программированием в должном уровне.

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

    Dragokas Very kind Developer Команда форума Супер-Модератор Разработчик Клуб переводчиков

    Сообщения:
    4.497
    Симпатии:
    4.312
    Koza Nozdri, как и говорил. Просто не получится.
    Продолжай делать остальную часть так, будто эта уже готова,
    например, как выглядят запросы к каждой из поисковых систем. Только уже не в этой теме.

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

Поделиться этой страницей