
Я разработал приложение на Windows Form [C#], затем скопировал текст с помощью
System.Windows.Form.Clipboard.SetText("โปรแกรม Microsoft Word ใช้งานได้");
После отправкиkeybd_event"Ctrl+V" [user32.dll]. Я случайно нашел "???" Текстовую проблему, как в этом посте.
Символы Unicode заменяются вопросительными знаками после копирования и вставки в Windows
Эта проблема "???" случайно возникает в приложении MS Word, но при размещении текста в Блокноте иhttps://regex101.com/работают отлично.
Пример :
Не удалось найти Microsoft Word => ??????? Microsoft Word ?????????
решение1
Обновлено 17/8/2020 :
С помощью Free Clipboard Viewer 3.0 для отладки я обнаружил
Возможно, целевое приложение автоматически определяет его как текст или OEM-текст, который находится в формате ???. Чтобы предотвратить это, я использую эти строки кода.
DataObject dataObject = new DataObject(DataFormats.UnicodeText, text);
Clipboard.SetDataObject(dataObject);
При передаче DataObject вместо строки он будет генерировать объект буфера обмена, который является текстом, текстом OEM и текстом Unicode в читаемом текстовом формате для языков, отличных от английского.
проблема решена. возможно.