Windows剪贴板CRLF / LF一名用户传递错误
时间:2020-03-06 14:48:14 来源:igfitidea点击:
我们有一对应用程序。一个用Cand编写的用法如下:
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在一个系统上拥有许多用户。许多人正在使用这些成对的程序。
只有一个用户遇到问题,其中文本中的行定界符在SetDataObject()和CLipGet()之间的某处从CRLF切换到LF。我可以在Unix / Windows混合环境中对此进行解释,但是这里没有Unix。在该系统附近的任何地方也没有unix-y实用程序。同一台服务器上的其他用户完全没有问题。就像Windows / Citrix中的某些功能在我们确实不想要它时是"有用的",而仅仅是针对这一个人。
有想法吗?
解决方案
我们是否尝试在Citrix上清除他们的个人资料?这似乎是解决许多用户特定的Citrix问题的解决方案。
Environment.NewLine在Citrix环境中的行为是否有所不同?如果是这样,它可能会为我们提供一个适用于所有用户的不错的选择,而不是\ r \ n。