Visual Basic 6程序从英文切换字符输入
我遇到了一个非常奇怪的问题,我不知道从哪里开始修复源代码:
在 Windows 7 下运行的 Visual Basic 6 程序中,定期(也许每周一次左右)键盘输入似乎为文本输入字段切换到另一种语言(即“/”键变为“É”)。
关闭程序并重新打开后,键盘输入再次正确。
Windows 本身的区域和键盘设置与英语(美国)相同,这种突然的变化发生在运行时而不是启动时。
我对 vb6 程序没有太多经验,但是以前有人见过这样的东西吗?我认为这可能是某种内存问题。
谢谢。
I'm having a really quirky problem and I don't know where to start on how to fix the source code:
In a Visual Basic 6 program running under Windows 7, periodically (maybe once a week or so) the keyboard input seems to switch to another language (ie the '/' key becomes a 'É' instead) for text input fields.
Once the program is closed and then re-opened, the keyboard input is correct once again.
The regional and keyboard settings for Windows itself are unchanged from English (US), and this sudden change occurs during runtime and not on startup.
I don't have a lot of experience with vb6 programs, but has anybody seen something like this before? I was thinking it could be some kind of memory issue.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这种情况一直发生在我身上......
经过一番调查后,这是因为默认情况下,Windows XP(我不知道 Windows 7),当它配置了多个键盘布局时,它会设置两个热-键在它们之间来回切换:LAlt+LShift 和 LAlt+RShift。
碰巧的是,我偶尔按下这个组合键,甚至没有注意到。而且,由于默认情况下键盘布局是应用程序本地的,因此我的行为与您描述的相同。
如果您遇到这种情况,可以从控制面板/区域设置或 Windows 7 中的任何名称轻松禁用此功能。
It happens to me all the time...
After some investigation it was because by default, Windows XP (I don't know Windows 7), when it has more than one keyboard layout configured, it sets up two hot-keys to switch back and forth between them: LAlt+LShift and LAlt+RShift.
As it happened, I pressed this combination once in a while without even noticing. And, since the keyboard layout is, by default, local to the application, I had just the same behavior that you describe.
If this is your case, this feature is easily disabled from Control Panel / Regional settings, or whatever they call it in Windows 7.