高分悬赏!!!关于调用kernel32.dll出现的问题

Alex-16888 2010-12-17 04:11:29
系统环境vs2008 + Ghost Xp sp3
现象1:在调用Kernel32.dll中的GetVolumeInformation()函数后,再创建带有控件的窗体时,单步调试到
private System.ComponentModel.IContainer components = null;单步调试后死机一段时间,恢复正常,继续单步调试,这时会提示"无法单步调试,不可恢复的API错误".如果将调用API函数那句去掉后,程序正常,窗体对象也能创建并显示.
现象2:直接运行编译好的EXE,在进程列表中,出现后马上就结束了.
问题:为什么会出现这种问题.之前我重装过系统,在重装之前那段代码是没有问题的,能正常运行.求解问题原因与解决方法.
说明:我重新装过Framework,还是没有解决.项目中用到框架2.0.
...全文
111 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Alex-16888 2010-12-22
  • 打赏
  • 举报
回复
重装原版系统后,问题基本算是解决了.但是没有弄明白具体原因,我想大概是因为Ghost系统里服务或组件有被精简的原因.一楼所说的权限问题是不存在的,我电脑上虽然有设置域,但给的是管理员权限,而且Ghost系统下我是本地管理员身份登录的,所以不会存在你所说的问题.二楼的意思不太明白,但是GetVolumeInformation函数声明是Public的.至于三楼,我想你理解错了我的意思,我知道如何使用API,只是在系统环境改变后调试过程中出现了一些问题.
感谢各位的关注!结贴.
luozhongxian001 2010-12-17
  • 打赏
  • 举报
回复
Kernel32.dll
类是公有还是私有,方法是公有还是私有!!
龍过鸡年 2010-12-17
  • 打赏
  • 举报
回复
getlasterror 看看 API 调用是否出错
貌似主要问题还是 api 调用上,怀疑是因为访问权限

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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