一対のアプリケーションがあります。1 つは C# で記述され、次のようなものを使用します。
string s = "alpha\r\nbeta\r\ngamma\r\ndelta";
// Actually there's wrapper code here to make sure this works.
System.Windows.Forms.Clipboard.SetDataObject(s, true);
アイテムのリストをクリップボードに入れる。別のアプリケーション (WinBatch 内) は、ClipGet() 関数を使用してリストを取得します。(クリップボード機能を使用して、実際に毎回カットアンドペーストする必要なく、メモ帳などでリストを編集するオプションを提供します。)
この特定の環境では、Citrix を介して 1 つのシステムに多くのユーザーがいます。多くの人がこれらのプログラムのペアを使用しています。
SetDataObject() と CLIpGet() の間のどこかで、テキストの行区切り文字が CRLF から LF に切り替わるという問題を抱えているユーザーが1 人だけいます。Unix と Windows が混在する環境でこれを説明できますが、ここには Unix はありません。このシステムの近くには unix-y ユーティリティもありません。同じサーバー上の他のユーザー、まったく問題ありません。Windows/Citrix の何かが、私たちが本当に望んでいないときに「役立つ」ように見えますが、この 1 人の人だけのためです。
アイデア?