将C++ VS2013 MFC 程序装到另一台电脑上:CString 转String时出错;occcont.cpp line 925;界面显示不完整

将C++ VS2013 MFC 程序装到另一台电脑上时,出现各种问题:CString 转String时出错;occcont.cpp line 925;界面显示不完整。搜寻网上各种资源,终于全部解决。归纳总结出现的问题及解决方法.。

第一:CString 转String时出错。

出错原因: UNICODE编码中会有宽与窄字符的变换。
在VS2013 的项目属性中选择使用多字节字符集时,以下程序可以运行:
CString strFilePath;
strFilePath = fileDlg.GetPathName();
String str = strFilePath.GetBuffer(); // 将CString变量转换为String变量。

在VS2013 的项目属性中选择使用UNICODE字符集时,以下程序可以运行:
CString strFilePath;
strFilePath = fileDlg.GetPathName();
USES_CONVERSION;
String str = W2A(strFilePath.GetBuffer()); // 将CString变量转换为String其中加了字节宽度变换的过程。

第二:缺少注册文件

部分参考:https://www.itdaan.com/blog/2016/09/16/ff87b037cea297a0c61a38cbb3ff90ce.html
运行时错误行是occcont.cpp line 925。
1:用Debug运行,报错,查看在下方有“debug{648A5600-2C6E-101B-82B6-000000000014}”
2:在网上查找该段编号,下载对应的ActiveX控件,.ocx文件。
3:将下载好的.cox文件放入C:\Windows\sysWOW64(64位) 或者C:\Windows\system32中(32位)
4:在cmd中输入 “regsvr32 C:\Windows\sysWOW64\MSCOMM32.OCX” 出错:错误代码为:dllregisterserver调用失败错误代码0x8002801c 原因是win7系统开启了用户账户控制(UAC)
5:进入控制面板—用户账户—更改用户账户控制设置—将滑块拉至最下端的“从不通知”
6:再次运行第4步,显示注册成功。

第三 在不同分辨率的电脑上,MFC界面显示不完整

控制面板 — 显示 — 选择 “较小(s)100%” 之后再修改分辨率就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值