catalpas 2020-07-06 14:01 采纳率: 0%
浏览 131
已结题

使用vs2005开发的输入法在64位的windows下必须先由32位的程序调用后64位程序调用才正常

  1. 使用vs2005开发的windows下的输入法程序。
  2. 在以前的32位windows系统下完全正常。
  3. 在64位windows系统下32位应用程序去调它,完全正常。
  4. 在64位windows系统下,安装完成之后, 用64位程序去调用该输入法输入,选字窗口软键盘等出不来。 必须先由32位的程序调用后,64位程序调用才能正常使用。
  5. 查日志发现,选择窗口等不出来时等使用不正常时 是系统未去调用窗口注册时的函数:“wc.lpfnWndProc"对应的函数
  6. 为何在新系统中,刚刚装好时,使用64位程序调用, 此wc.lpfnWndProc对应的函数不执行?
  7. 使用过32位程序是能执行的,而且一旦使用32位程序调用过输入法,64位程序再调试也一切正常了。
  8. ps,还有个问题,在用户程序切换输入法的输入法列表中,win7前此输入法显示程序中的资源图标,win8及以后的系统就只显示“简体”二字。

图片说明
图片说明

  • 写回答

2条回答 默认 最新

  • threenewbee 2020-07-06 15:08
    关注

    vs2005太老的系统了,可能都不支持64bit,建议你用vs2015,x64模式编译看看
    关于图标的问题,传入结构体的 hBmpItem https://docs.microsoft.com/en-us/windows/win32/api/imm/ns-imm-imemenuiteminfow

    评论

报告相同问题?

悬赏问题

  • ¥15 Workbench中材料库无法更新,如何解决?
  • ¥20 如何推断此服务器配置
  • ¥15 关于github的项目怎么在pycharm上面运行
  • ¥15 内存地址视频流转RTMP
  • ¥100 有偿,谁有移远的EC200S固件和最新的Qflsh工具。
  • ¥15 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败