博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解决vs 2010复制汉字到Word出现乱码
阅读量:6228 次
发布时间:2019-06-21

本文共 757 字,大约阅读时间需要 2 分钟。

解决方案出处:

 

工具:

 

现在安装SP1也可以修复这个bug

 

代码

 

try
{
    
//
取得剪贴板的内容:
    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(?<uc>\\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));
        
//
将修改后的内容写入剪贴板 
        Clipboard.SetDataObject(newDataObject, 
true);
    }
}
catch (Exception ex)
{ MessageBox.Show(ex.ToString()); }

 

转载地址:http://wytna.baihongyu.com/

你可能感兴趣的文章
nagios 详细部署操作(二)
查看>>
流程式编程
查看>>
小蚂蚁学习APP接口开发(5)—— APP接口实例——单例模式连接数据库
查看>>
windows7怎么设置并链接“L2TP ***”
查看>>
大学学生会的腐败怪象
查看>>
LAMP平台详述
查看>>
我的友情链接
查看>>
AsyncTask研究
查看>>
Oracle监听器启动出错:本地计算机上的OracleOraDb10g_home1TNSListener服务启动后又停止了解决方案...
查看>>
ibatis运行的SQL语句的输出——通过配置log4j
查看>>
maven常见问题问答(超全面)
查看>>
JSP中获取各种路径的方法
查看>>
linux 特殊权限 之 SUID 实例
查看>>
linux操作命令
查看>>
Capture Nx
查看>>
RedHat/CentOS命令记录
查看>>
git 学习
查看>>
MySQL基于LVM快照的备份恢复
查看>>
庞升东:个人网站年广告销售收入可超千万
查看>>
[译]ECMAScript 5 Objects and Properties
查看>>