VC SDI程序在英文版系统不能运行
来源:互联网 发布:spss软件如何使用 编辑:程序博客网 时间:2024/05/20 05:03
场景:
Win7简体中文 + VC2008英文版sp1下编写的SDI程序, 需要实现多语言切换和需要在多种语言的Windows系统下运行.问题:
Win7简体中文下, SDI程序可以运行, 放到Win7的英文系统下, CXXXApp::InitInstance中运行到ProcessShellCommand 就返回失败.
BOOL CXXXApp::InitInstance(){......if (!ProcessShellCommand(cmdInfo))// 返回失败return FALSE;......}
解决思路:
1. 中文Win7可以, 英文Win7不可以, 第一时间想到是语言的问题.
2. 后来发现是资源语言设置问题.
3. Win7中文版 + VC2008英文版sp1 创建的SDI工程, 资源默认如下图一:
图一
4. 在这种情况下, 对话框资源上的控件, 输入中文, 编辑状态下可以正常显示, 但是运行时是问号来的, 看图二.
5. 修改对话框资源的语言为"进程默认语言", 运行时就可以正确显示中文了. 看图三.
6. 我看到既然对话框资源设为"进程默认语言"了, 所以我就把菜单, 工具栏等资源的语言也设为"进程默认语言", 当我编辑菜单/工具栏时, 输入了中文内容, 问题就出在这里, 此时资源自动产生了一个"String Table", 其语言并不是"English (U.S.)", 就是这个"String Table"使得ProcessShellCommand返回失败.
0 0
- VC SDI程序在英文版系统不能运行
- 为什么用MFC开发的程序在没有安装VC的系统上不能运行?
- 在win10系统下不能运行VC++6.0的解决方法
- VC程序在win7系统上运行,自动获取管理员权限
- VC程序在win7系统上运行,自动获取管理员权限 .
- VC程序在win7系统上运行,自动获取管理员权限
- 关于VC开发的程序在别人电脑不能运行的问题
- VC编写的程序不能在其他机器上运行的解决方案
- VC编写的程序不能在其他机器上运行的解决方案(续)
- VC编写的程序不能在其他机器上运行的解决方案(转载)
- VC编写的程序不能在其他机器上运行的解决方案
- VC编写的程序不能在其他机器上运行的解决方案(续)
- VC编写的程序不能在其他机器上运行的解决方案
- VC编写的程序不能在其他机器上运行的解决方案
- MFC程序(SDI)一开始运行最大化
- MFC程序(SDI)一开始运行最大化详解
- MFC程序(SDI)一开始运行最大化
- MFC程序(SDI)一开始运行最大化
- 深入浅出 RPC - 浅出篇
- C:set 标签设置(绝对路径的设置)
- python基础教程共60课-第18课bool类型转换
- 使用luabind生成dll文件
- 在宏里访问结构体的成员 - rust
- VC SDI程序在英文版系统不能运行
- 目标检测学习_1(用opencv自带hog实现行人检测)
- 【exception】java.lang.NoSuchMethodError: org.springframework.beans.Beans.BeanUtils
- 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- NDK——起源
- 随机生成给定范围内N个不重复的数
- 复合和继承
- iOS系列UI篇——UIImageView
- windows关于QtCreator2.8.、Qt4.8.5、MinGW、Qwt等集成安装