为什么GetModuleFileNameEx一使用就会出错?

koolfoo 2003-12-19 08:31:46
下面的代码:
if( EnumProcessModules(hProcess, hMods, sizeof(hMods), &cbNeeded))
{
for ( i = 0; i < (cbNeeded / sizeof(HMODULE)); i++ )
{
char szModName[MAX_PATH];

// Get the full path to the module's file.

if ( GetModuleFileNameEx( hProcess, hMods[i], szModName,
sizeof(szModName)))
{

}
}
}

只要一使用就会出错,标准的“出现问题需要关闭程序”,为什么?我怀疑就是GetModuleFileNameEx出错了,但不知道为什么?
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
osborn 2003-12-20
  • 打赏
  • 举报
回复
hMods是如何定义的?
bmon_xyz 2003-12-20
  • 打赏
  • 举报
回复
F5调试一下一看就知道哪个地方出错了
koolfoo 2003-12-20
  • 打赏
  • 举报
回复
偶已经知道结果了,在XP里面的KERNEL32.DLL根本就没有GetModuleFileNameEx这个函数。
多谢各位的关注,结贴!
Zark 2003-12-20
  • 打赏
  • 举报
回复
不错,需要知道hMods是如何定义的,才能知道你的sizeof(hMods)对不对.

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧