奇怪:关于BeginUpdateResource

土豆 2000-11-03 03:13:00
在下面的代码中,BeginUpdateResource执行后hUpdateRes为0,即NULL,可用GetLastError()得到的却是“操作完成”,错误代码为0,那就是没错,哪位肯告诉我这是为什么。

hUpdateRes=BeginUpdateResource(szDestFile,FALSE);
if(hUpdateRes==NULL)
{
char lpszBuf[256];

GetLastErrorText(lpszBuf,255);
printf("%s\n",lpszBuf);
}
...全文
249 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
土豆 2000-11-24
  • 打赏
  • 举报
回复
我自己已经搞定。
土豆 2000-11-04
  • 打赏
  • 举报
回复
拜托大家多多帮忙。
土豆 2000-11-04
  • 打赏
  • 举报
回复
to w3guy:
我上面的代码就是从源文件中拷贝来的,当然没有将'=='写为'='啦,并且我跟踪了,在调用了BeginUpdateResource后,hUpdateRes就变为NULL了。
在调用之后直接去调用LastError的,中间没有其他操作。

to leer:
不是没找到资源,只是打开啊,还没去找呢。并且该文件肯定有资源的。
leer 2000-11-03
  • 打赏
  • 举报
回复
虽然没找到资源,但操作确实完成了呀。
将szDestFile设为不存在或不可执行文件试试看会如何。
w3guy 2000-11-03
  • 打赏
  • 举报
回复
1. if(hUpdateRes==NULL) 有没有把==误写为 =
2. 在调用GetLastError时有没有CALL其他可能改变LASTERROR 的函数

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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