У меня есть система с Windows 7 Home Basic (64-разрядная версия) и Internet Explorer 11. Мой компьютер - Dell Inspiron 5520 с процессором Intel Core i5.

Когда вы выбираете какой-либо текст, например предложение или слово, в Internet Explorer и щелкаете правой кнопкой мыши, вы получаете возможность отправки выбранного элемента непосредственно в Microsoft OneNote. Правильно? Как отправить один и тот же выбранный текст напрямую в Блокнот, Wordpad или даже в Microsoft Word напрямую? Как добавить эту опцию также в раскрывающееся меню, которое появляется после щелчка правой кнопкой мыши?

2 ответа2

1

Я не думаю, что есть способ изменить меню, чтобы сделать то, что вы хотите. Но вы должны быть в состоянии достичь того же результата, используя Копировать и Вставить. Убедитесь, что ваше целевое приложение открыто, затем выделите слово, фразу, картинку или что-то еще в IE. Вы можете щелкнуть правой кнопкой мыши и выбрать "Копировать" или просто использовать Ctrl-C, чтобы поместить содержимое в буфер обмена. Затем используйте Alt-Tab или щелкните на панели инструментов, чтобы переключиться на целевое приложение, и используйте Ctrl-V или щелкните правой кнопкой мыши и "Вставьте", чтобы вставить содержимое.

0

Это можно сделать с помощью дополнения / плагина или путем редактирования реестра и написания простого скрипта.

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

  • Тем не менее, нажмите кнопку Пуск и введите regedit, и запустите приложение.
  • Перейдите по ссылке HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\ Если MenuExt должен уже существовать для вас, потому что у вас уже есть расширение Onenote, но мне пришлось создать мое (новый ключ).
  • Затем в ключе MenuExt создайте еще один новый ключ с именем, которое вы хотите отобразить в меню правой кнопки мыши, т.е. "Экспорт в Word".
  • Создайте ключ в этом разделе "Контексты" и установите для данных (по умолчанию) значение 0x10. Это дает возможность показывать только тогда, когда вы щелкнули правой кнопкой мыши на выделенном контенте.
  • Создайте еще один ключ с именем "Флаги" и установите для данных (по умолчанию) значение 0x1. Это позволит сценарию получить доступ к выбранным вами данным.
  • Затем нам нужно будет создать скрипт для указания нашего меню, я сделал файл с именем c:\ Users\ username\ Documents\ simple.htm
  • В этом примере я установил бы значение по умолчанию "Экспорт в Word" в «file://C:\ Users\ username\ Documents\ simple.htm»
  • Поскольку я обнаружил, что блокнот, wordpad и word не имеют метода для приема прямого ввода текста, только файлы. Поэтому, чтобы не пытаться заставить этот скрипт записывать временные файлы, мы можем попробовать метод копирования и вставки.

simple.htm должен выглядеть так

<SCRIPT LANGUAGE="JScript">
//find our selected content
var selection = external.menuArguments.document.getSelection();
external.menuArguments.clipboardData.setData("Text", selection.toString());

//create a shell and open wordpad
var WshShell = new ActiveXObject("WScript.Shell");
objExec = WshShell.Exec("notepad.exe");

//give it a second to open then paste
WshShell.AppActivate(objExec.ProcessID);

while (objExec.Status != 0)
{
     delayedSendKeys("^V");
}

delayedSendKeys("^V");

//sending keys works better with a delay
function delayedSendKeys(str)
{
    WshShell.SendKeys(str);
    external.menuArguments.console.log("window","sent keys");
}
</SCRIPT>

И вот тут я застреваю. Вы можете нажать Ctrl + V и вставить свой выбор в открывшемся окне, но из того, что я прочитал, sendkeys любит задержку, но setTimeout не работает и то есть не дает нам доступ к объекту WScript, поэтому мы можем спать на 100 мс или около того.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .