挖井

类库大魔王的挖井日记

挖一口属于自己的井


升级程序还有得做哦

  今天接着做升级程序,本来以为大部分的技术问题都已经解决了,实际上,还是很花了不少工夫,有些问题想都想不到。
  通过http下载昨天就差不多搞定了,今天发现,用asio来下载,很占CPU啊,全都占满了。以至于,好不容易通过boost::function把进度回调加进去后,界面不能得到及时的刷新。
  还有,因为我想看起来更人性化一点,就希望是一个文件一个文件地下载,然后替换更新,也就是如果是exe或dll文件,在运行时,也是需要能不动声色地把它替换掉的。依靠以前的一点点模糊残缺的记忆,MoveFileEx可以达到目的,它可以把运行中的文件移动到其它地方,还可以登记让文件在下次系统启动时被删掉。不过中间遇到一点问题,怎么也移动不了一些文件,后来发现只要该文件长度为0,就不能移动,真是奇怪。不过还好,这个情况在实际应用中几乎不会出现。
  现在,几乎所有的技术难点都差不多搞定了,只是要实现好,还是要花些时间,精雕细琢嘛。看来这周能把这个升级程序整完就不错了。

本文地址:

https://minidump.info/blog/2007/09/e5-8d-87-e7-ba-a7-e7-a8-8b-e5-ba-8f-e8-bf-98-e6-9c-89-e5-be-97-e5-81-9a-e5-93-a6/

感觉本文不错,不妨小额鼓励我一下!
上一篇

今天有点收获

  今天上午,经过仔细的检查,终于能在右键菜单上显示并正常工作了。有几个关键点,首先,注册表中的项要正确,其次,类厂的QueryInterface要完整,再次,实现类的QueryInterface要完整。这样就基本上应该能正常工作了,我开始总是弄不出来,一是类厂的实现可能有问题,二是实现类就有...…

Job 全文阅读
下一篇

继续升级程序

  MoveFileEx似乎要在同一个分区里才能移动当前运行的Exe或Dll文件,于是我只好在本地目录再新建一个子目录。还有个问题,用NULL参数登记系统重启后删除,不知道为什么不起作用,该不会是只有在临时目录下的才能自动删掉。  再抱怨一下asio,吞吐率并不高啊,不知道是不是哪里用得不对,...…

Job 全文阅读