Я хотел бы знать, как добавить новый элемент в контекстное меню IE (меню правой кнопки мыши), чтобы отобранный текст с сайта был скопирован, открывается мое приложение winform C# и текст вставляется в текстовое поле в моем приложении.Добавление контекстного меню в IE для выполнения моей программы
ответ
Вы можете добавить запись в стандартное контекстное меню IE, чтобы открыть свою программу. Чтобы сделать это, выполните следующие действия:
Открыть реестр и перейдите по ссылке:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
Создать новый ключ и установить имя ключа текст, который вы хотите отображается в контекстном меню как имя, например:
Open My App
правой кнопкой мыши на
(Default)
и выберитеModify...
и установите значение пути HTML-файл, который будет содержит команду, чтобы открыть приложение. Например:C:\OpenMyApp.html
Добавить новое значение
DWORD
имениContext
и установите его значение в шестнадцатеричные11
или десятичную17
. Чтобы просмотреть другие возможности, нажмите documentation. Также в документах сказано добавить двоичный файл, но я попробовалDWORD
вместо этого, и он сработал. Также другие расширения, которые я видел, используютDWORD
.Используйте этот контент для вашего
C:\OpenMyApp.html
:<script type="text/javascript"> function getSelectionText(w) { var text = ""; if (w.getSelection) { text = w.getSelection().toString(); } else if (w.document.selection && w.document.selection.type != "Control") { text = w.document.selection.createRange().text; } return text; } var parentwin = external.menuArguments; var selection = getSelectionText(parentwin); var oShell = new ActiveXObject("Shell.Application"); var commandtoRun = "C:\\MyApp.exe"; oShell.ShellExecute(commandtoRun,"\""+selection+"\"","","open","1"); </script>
Тогда достаточно, чтобы скопировать приложение
C:\MyApp.exe
. Ваше приложение должно обрабатывать аргументы командной строки, принимаяstring[] args
в качестве входных параметров для точки вводаMain
или используяEnvironment.GetCommandLineArgs()
. Затем достаточно передать аргумент в вашу форму и показать его в текстовом поле.
Для получения дополнительной информации:
работал! Большое спасибо. –
Добро пожаловать :) –
Я получаю сообщение об ошибке: У этого файла нет связанной с ним программы для выполнения этого действия – Graham