最近把VS更新到2010了,发现复制到Word中 会出现乱码,如图

网上虽然有解决方法,比如说,先复制到记事本中,然后在复制到Word中,但是一般从vs里面复制出来,然后粘贴到Word中主要是想代码在Word中也可以显示高亮 根据网上找的资料, 写了一个程序

下面提供我写好的程序,最低需要.Net3.5运行库 使用方法:首先从VS2010内复制出代码,然后打开程序,会自动访问剪切板,并处理乱码
[buy]小提示Win7可以直接在程序上面选择右键,选择“附到开始菜单”[/buy]
[download id=”17″]
下面是主要源码:
this.TopMost = true;
timer1.Start();
//必须先引用:using System.Text.RegularExpressions;
//取得剪贴板內容
IDataObject dataObject = Clipboard.GetDataObject();
if (dataObject.GetDataPresent(DataFormats.Rtf))
{
//取出RTF格式
string rtf = dataObject.GetData(DataFormats.Rtf) as string;
//以Regex.Replace去除多余的乱码字符
string fixedRtf =
Regex.Replace(rtf, @"\uinput2(?\u-?d*)s..",
(m) =>
{
return m.Groups["uc"].Value + "?";
});
//另建新DataObject
DataObject newDataObject = new DataObject();
//RTF格式用修正后的字符串,其他的保持原值
foreach (String t in dataObject.GetFormats())
newDataObject.SetData(t,
t == "Rich Text Format" ? fixedRtf :
dataObject.GetData(t));
try
{
//将修正后內容写入剪贴板
Clipboard.SetDataObject(newDataObject, true);
}
catch (Exception a)
{
MessageBox.Show(a.ToString());
}
}
lz给力呀!!!太感谢了~~~
呵呵,很久以前写的咯,都快忘记啦~