
Ich habe eine Anwendung auf Windows-Formular [C#] entwickeln, dann kopieren Sie Text mit
System.Windows.Form.Clipboard.SetText("โปรแกรม Microsoft Word ใช้งานได้");
Nach dem Sendenkeybd_event„Strg+V“ [user32.dll]. Ich habe zufällig ein Textproblem mit „???“ gefunden, wie in diesem Beitrag.
Unicode-Zeichen werden nach dem Kopieren und Einfügen unter Windows durch Fragezeichen ersetzt
Dieses "???"-Problem tritt zufällig in der MS Word-Anwendung auf, aber das Platzieren von Text in Notepad undhttps://regex101.com/funktioniert gut.
Beispiel :
Keine Microsoft Word-Datei vorhanden => ??????? Microsoft Word ?????????
Antwort1
Aktualisiert am 17.08.2020:
Mit Hilfe des Free Clipboard Viewer 3.0 zum Debuggen habe ich herausgefunden
Vielleicht erkennt die Zielanwendung es automatisch als Text oder OEM-Text im ???-Format. Um dies zu verhindern, verwende ich diese Codezeilen.
DataObject dataObject = new DataObject(DataFormats.UnicodeText, text);
Clipboard.SetDataObject(dataObject);
Durch die Übergabe eines DataObjects anstelle eines Strings wird tendenziell ein Clipboard-Objekt generiert, bei dem es sich um Text, OEM-Text und Unicode-Text im lesbaren Textformat für nicht-englische Sprachen handelt.
Problem gelöst. Vielleicht.