我们有一对应用程序。一个是用 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 在一个系统上拥有许多用户。许多人使用这对程序。
只有一个用户遇到问题,文本中的行分隔符从 CRLF 切换到 LF 在 SetDataObject() 和 CLipGet() 之间的某个位置。我可以在混合 Unix/Windows 环境中解释这一点,但这里没有 Unix。该系统附近也没有任何 unix-y 实用程序。同一台服务器上的其他用户,完全没有问题。当我们真的不想要它时,就像 Windows/Citrix 中的某些东西正在“有帮助”,但只是为了这个人。
想法?