MFC编程修改内存数据程序

时间:2013-03-22 14:21:01 来源:互联网  阅读次数:16777215 


// CMemoRepairDlg 消息处理程序

BOOL CMemoRepairDlg::OnInitDialog()
{
    CDialogEx::OnInitDialog();

    // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
    //  执行此操作
    SetIcon(m_hIcon, TRUE);            // 设置大图标
    SetIcon(m_hIcon, FALSE);        // 设置小图标

    // TODO: 在此添加额外的初始化代码

    return TRUE;  // 除非将焦点设置到控件,否则返回 TRUE
}

// 如果向对话框添加最小化按钮,则需要下面的代码
//  来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
//  这将由框架自动完成。
void CMemoRepairDlg::OnPaint()
{
    if (IsIconic())
    {
        CPaintDC dc(this); // 用于绘制的设备上下文

        SendMessage(WM_ICONERASEBKGND, reinterpret_cast(dc.GetSafeHdc()), 0);

        // 使图标在工作区矩形中居中
        int cxIcon = GetSystemMetrics(SM_CXICON);
        int cyIcon = GetSystemMetrics(SM_CYICON);
        CRect rect;
        GetClientRect(&rect);
        int x = (rect.Width() - cxIcon + 1) / 2;
        int y = (rect.Height() - cyIcon + 1) / 2;

        // 绘制图标
        dc.DrawIcon(x, y, m_hIcon);
    }
    else
    {
        CDialogEx::OnPaint();
    }
}
//当用户拖动最小化窗口时系统调用此函数取得光标
//显示。
HCURSOR CMemoRepairDlg::OnQueryDragIcon()
{
    return static_cast(m_hIcon);
}
void CMemoRepairDlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码
    int value;        //查找的值
    UpdateData(TRUE);
    value = editValue;
    if (conFirst == TRUE)
    {
        FirstFind(value);        //进行第一次查找
        ShowList();                    //打印出结果
        conFirst = FALSE;
    }
    else
    {
        NextFind(value);        //进行下一次查找
        ShowList();                //打印出结果
    }
    if (addrCount == 1)
    {
        MessageBox("OK, You Can Change Now!");
    }
    else
        MessageBox("NO, You Can't Change!");
}
void CMemoRepairDlg::OnBnClickedButton2()
{
    // TODO: 在此添加控件通知处理程序代码
    if (addrCount > 1 || addrCount == 0)
    {
        MessageBox("Please Search Again!");
    }
    else
    {
        int valueWillChange;   //要修改的值
        UpdateData(TRUE);
        valueWillChange = editValue3;
        WriteMemory(addrList[0], valueWillChange);
    }
}

void CMemoRepairDlg::OnBnClickedStartprocess()
{
    // TODO: 在此添加控件通知处理程序代码

    char szFileName[] = "Testor.exe";
    STARTUPINFO starUpInfo = {sizeof(starUpInfo)};
    PROCESS_INFORMATION process_information;
    //启动测试程序进程
    ::CreateProcess(NULL, szFileName, NULL, NULL, FALSE,CREATE_NEW_CONSOLE,
        NULL, NULL, &starUpInfo, &process_information);
    //关闭线程句柄
    ::CloseHandle(process_information.hThread);
    hProcess = process_information.hProcess;

}
CMemoRepairDlg::~CMemoRepairDlg()
{
    ::CloseHandle(hProcess);
}

BOOL CMemoRepairDlg::ComparePage(DWORD baseAddr, DWORD valueChange)
{
    BYTE pageByte[4096];
    if (!::ReadProcessMemory(hProcess,(LPVOID)baseAddr, pageByte,4096,NULL))
    {
        return FALSE;        //此页不可读
    }

阴阳师 V1.0.11 安卓版
阴阳师 V1.0.11 安卓版
系统:Android/   大小:534MB   更新日期:11.29MB

   立即下载

  • 泰拉瑞亚暗影木弓制作方式
    泰拉瑞亚暗影木弓制作方式
    浏览:0   时间:2022-05-16   来源:互联网
    泰拉瑞亚暗影木弓是游戏中的一种弓类武器,是木弓的代版,和乌木弓互为等价物,暗影木弓附魔最佳修饰语是恶魔,玩家需要在工作台附近,使用10个暗影木,可以获得1个暗影木弓,暗影木弓内部物品ID是923。
  • 泰拉瑞亚锡弓的制作方式
    泰拉瑞亚锡弓的制作方式
    浏览:0   时间:2022-05-16   来源:互联网
    泰拉瑞亚锡弓是游戏中一种弓类武器,是游戏前期的武器,是低级别的弓,锡弓附魔最佳修饰语是恶魔,玩家可以通过合成的方式来获得,玩家需要在铁砧或铅砧附近,使用7个锡锭,可以获得1个锡弓。
  • 泰拉瑞亚空中祸害介绍攻略
    泰拉瑞亚空中祸害介绍攻略
    浏览:0   时间:2022-05-16   来源:互联网
    泰拉瑞亚空中祸害是肉山后,击败boss石巨人之后的弓类武器,每次攻击可以分裂成6支箭,并造成 50% 的额外伤害,空中祸害附魔最好的修饰语是虚幻,打败撒旦军队事件T3期间的Boss双足翼龙有一定概率获得。
  • 泰拉瑞亚蜂膝弓的获得攻略
    泰拉瑞亚蜂膝弓的获得攻略
    浏览:0   时间:2022-05-16   来源:互联网
    泰拉瑞亚蜂膝弓是游戏中的一种弓类武器,它会发射特殊的蜜蜂弹药,当敌人靠近时会变成蜜蜂并对敌怪进行攻击,蜂膝弓附魔最好修饰语是虚幻,1点4版本更新后伤害由 26 降低至 23,使用时间由 23 提升至 24,玩家击杀boss蜂膝弓有 三分之一概率可以获得。
  • 泰拉瑞亚肌腱弓武器介绍攻略
    泰拉瑞亚肌腱弓武器介绍攻略
    浏览:0   时间:2022-05-16   来源:互联网
    泰拉瑞亚肌腱弓是游戏中的一种弓类武器它是腐化之地的恶魔弓的对应物,肌腱弓最高附魔最好属性品质是虚幻,玩家需要在铁砧或铅砧附近,使用8个猩红矿锭,可以获得1个肌腱弓,肌腱弓内部物品ID是796。
阴阳师 V1.0.11 安卓版
阴阳师 V1.0.11 安卓版
阴阳师手游是一款3D唯美风格的日系动作RPG手游,以日本有名的阴阳师ip为世界观。在经典的半即时回合制RPG基础上,...[查看详情]
  • 其它名称:
  • 游戏类型:角色扮演
  • 游戏更新:2016-11-29
  • 游戏语言:简体中文
  • 游戏平台:Android/

游戏推荐

更多

游戏排行榜

更多

下载声明 | 法律声明 | 版权声明 | 友情链接 | 发布软件 | 最新更新

本站为非盈利性网站,不接受任何广告。本站所有资源均由网友上传,如有侵权,请发邮件至 hnrshwl@163.com

晋ICP备2024046785号-1