IT点滴

我不去想是否能够成功 既然选择了远方 便只顾风雨兼程
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

[转]实例:VC++程序自校验的简单方法

Posted on 2009-03-20 16:10  Ady Lee  阅读(561)  评论(0编辑  收藏  举报

在Project->Settings->Link中去掉Generate debug info和Link incrementlly选项,再选择Category组合框的Customize,去掉Use program database选项,最后在Project Options中加入"/release",一切OK!

#include <imagehlp.h>
#pragma comment(lib, "imagehlp.lib")

bool CheckExeSum()
{
    char Fn[512];
    DWORD HeadChksum = 1, Chksum = 0;

    GetModuleFileName(GetModuleHandle(NULL), Fn, 512);
    if(MapFileAndCheckSum(Fn, &HeadChksum, &Chksum) != CHECKSUM_SUCCESS)
    {
        return false;
    }
    else if(HeadChksum != Chksum)
    {
        return false;
    }

    return true;
}
 

文章出处:http://www.diybl.com/course/3_program/vc/vc_js/2008618/126148.html