WebBrowser.Document.ExecCommand с параметром «Копировать» не работает в приложении C# windows - PullRequest
0 голосов
/ 15 апреля 2020

Я пытаюсь преобразовать HTML текст в RTF в приложении C# windows. Для этого

  • Я создал один пример windows приложения в C#.
  • Используется элемент управления веб-браузера.
  • Загрузка HTML текста в него .
  • Вызванный объект документа веб-браузера Метод ExecCommand с параметрами «Select» и «Copy» один за другим.
  • Команда выбора выделяет текст, но команда Copy не копирует выделенный текст в буфер обмена .

Ниже приведен код, который я использовал:

 //Load HTML text
 System.Windows.Forms.WebBrowser webBrowser = new System.Windows.Forms.WebBrowser();
 webBrowser.IsWebBrowserContextMenuEnabled = true;
 webBrowser.Navigate("about:blank");
 webBrowser.Document.Write(htmlText);//htmlText = Valid HTML text

 //Copy formatted text from web browser
 webBrowser.Document.ExecCommand("SelectAll", false, null);
 webBrowser.Document.ExecCommand("Copy", false, null); // NOT WORKING

 //Paste copied text from clipboard to Rich Text Box control
 using (System.Windows.Forms.RichTextBox objRichTextBox = new System.Windows.Forms.RichTextBox())
       {
           objRichTextBox.SelectAll();
           objRichTextBox.Paste();
           string rtfTrxt = objRichTextBox.Rtf;
       }

Примечания:

  • Я также пометил метод Main как STAThreadAttribute
  • Это не работает в клиентской системе (Windows Server 2019)
  • Работает нормально в моей системе (Windows 7 32 бита)
  • Версия браузера на моем компьютере такая же системный и клиентский ststem т.е. IE 11
  • Мы не хотим использовать какой-либо платный инструмент, такой как SautinSoft.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...