2008-09-26 15 views
0

Nous avons une paire d'applications. L'un est écrit en C# et utilise quelque chose comme:Presse-papiers Windows CRLF/LF passant incorrect pour un utilisateur

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); 

Pour mettre une liste d'éléments dans le presse-papiers. Une autre application (dans WinBatch) récupère ensuite la liste en utilisant une fonction ClipGet(). (Nous utilisons les fonctions du presse-papier pour donner aux gens la possibilité d'éditer la liste dans le bloc-notes ou quelque chose, sans avoir à copier-coller à chaque fois.)

Dans cet environnement particulier, nous avons beaucoup d'utilisateurs sur un système via Citrix. Beaucoup utilisent ces paires de programmes.

Just un l'utilisateur rencontre le problème où les délimiteurs de lignes dans le texte sont passés de CRLF à LF quelque part entre le SetDataObject() et le CLipGet(). Je pourrais expliquer cela dans un environnement mixte Unix/Windows, mais il n'y a pas d'Unix ici. Aucun utilitaire Unix-y n'importe où près de ce système non plus. Les autres utilisateurs sur le même serveur, pas de problèmes du tout. C'est comme si quelque chose dans Windows/Citrix était "utile" quand on ne le voulait vraiment pas, mais juste pour celui-là.

Des idées?

Répondre

1

Avez-vous essayé d'effacer leur profil sur Citrix? Cela semble être la solution à de nombreux problèmes Citrix spécifiques à l'utilisateur.

1

Est-ce que Environment.NewLine se comporte différemment dans les environnements Citrix? Si c'est le cas, cela peut vous donner une bonne option qui fonctionne pour tous les utilisateurs au lieu de \ r \ n.