
私はWindowsフォーム[C#]でアプリケーションを開発し、テキストをコピーして
System.Windows.Form.Clipboard.SetText("โปรแกรม Microsoft Word ใช้งานได้");
送信後キーイベント「Ctrl+V」 [user32.dll]。この投稿のような「???」テキストの問題をランダムに発見しました。
Windows でコピー アンド ペーストすると Unicode 文字が疑問符に置き換えられる
この「???」問題はMS Wordアプリケーションでランダムに発生しますが、メモ帳にテキストを配置すると、出典:https://regex101.com/正常に動作します。
例 :
Microsoft Word 2010 でエラーが発生する => ???????マイクロソフトワード ?????????
答え1
2020年8月17日更新:
Free Clipboard Viewer 3.0のデバッグの助けを借りて、私は発見しました
おそらく、ターゲット アプリケーションはこれを ??? 形式のテキストまたは OEM テキストとして自動的に検出します。これを防ぐために、次のコード行を使用します。
DataObject dataObject = new DataObject(DataFormats.UnicodeText, text);
Clipboard.SetDataObject(dataObject);
文字列の代わりに DataObject を渡すと、英語以外の言語で読み取り可能なテキスト形式のテキスト、OEM テキスト、Unicode テキストである Clipboard オブジェクトが生成される傾向があります。
問題は解決しました。多分。