【问题标题】:Changing the VB6 InputBox() caption to english将 VB6 InputBox() 标题更改为英文
【发布时间】:2012-05-12 21:24:16
【问题描述】:

我有一个输入框。

这个输入框带有法语标题(“Ok”和“Annuler”)而不是(“Ok”和“Cancel”)

如何允许显示英文版?

该应用程序是使用 XP 法语版本构建的。

非常感谢。

【问题讨论】:

  • 我希望这会根据最终用户系统的区域设置而有所不同,而不是您编译它的 VB6 版本。您是否尝试过在语言环境设置为英语(多种选择之一)的系统上运行程序?
  • 我在区域选项中使用 language = English 进行了测试,但问题相同。
  • 然后尝试用英文VB6编译?
  • 我怀疑您必须提供本地版本的 MsVbVm60.dll

标签: vb6


【解决方案1】:

InputBox() 函数在 VB6 运行时 DLL 中实现,因此受其本地化(以及错误消息文本)的影响。您应该确保从Service pack 6 runtime package 分发官方(语言中立)msvbvm60.dll

【讨论】:

  • +1 VB6 运行时还从内存中寻找一些单独的资源 DLL,以提供其他语言的翻译。如果它们存在(例如,由另一个软件包安装到 Windows 系统中),这可能会导致运行时本地化为另一种语言。 AFAICR 有一篇关于此的知识库文章,但现在没有时间挖掘它
  • @MarkJ:我认为只有在当前语言环境设置为可用的情况下才会这样做? OP说它是英文的。
  • 如果您使用 VB6 的本地化版本编译,也可能发生这种情况,请参阅我的(新)答案。这次我的笔记很方便 :)
【解决方案2】:

如果 EXE 是使用本地化版本的 VB6 构建的,则可能会发生这种情况。

如果您在给定语言版本上编译任何本地化应用程序 在 Visual Basic 中,应用程序 .exe、.dll 和 .ocx 文件仍将 调用对应语言的运行时资源 编译器。

Microsoft KB article 236404 中有一些可能的修复

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2021-04-25
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 2012-02-21
    • 2020-09-14
    相关资源
    最近更新 更多