开发者社区> 问答> 正文

无法定位程序输入点K32Get Module File Name Ex于动态链接库KERNEL32.


展开
收起
1783518299684358 2018-12-29 10:21:06 1211 0
1 条回答
写回答
取消 提交回答
  • 深耕云原生技术布道,熟悉DevOps、敏捷开发、容器技术、微服务架构等,擅长架构设计及企业数字化转型,在跨境电商场景上有多年的工作经历,在设计高并发、高性能、高可用中架构有较深的经验积累。精益和工匠精神不断提高对于技术领域的研究和探索。
    因为一些性能的问题,在Windows7 和 Windows Server 2008 R2 系统上,微软把一些API函数从Psapi.dll 移到了 Kernel32.dll 动态库中,并在VS2010编译器自带的 WinSDK v7.0版本上面做了处理。这样的设计在Windows7 和 Windows Server 2008 R2系统上面没有问题,但是如果你用vs2010编译的程序运行在Win7之前的系统上,那么肯定会遇到刚才说的错误。因为老系统的KERNEL32.dll中根本没有那些被移植过去的函数,所以肯定会执行失败。

    解决方案就是将 PSAPI_VERSION 定义为小于等于1的数值就可以啦,如下:


    要加在#include <Psapi.h>上面


    #ifndef PSAPI_VERSION
    #define PSAPI_VERSION  1
    #endif



     如果该回答对您有帮助的话,麻烦点击采纳此答案
    2018-12-30 11:24:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载