30.保存游戏配置到文件

上一个内容:29.添加录入注入信息界面

以 29.添加录入注入信息界面 它的代码为基础进行修改

效果图:

首先在我们辅助程序所在目录下创建一个ini文件

文件内容

然后首先编写一个获取辅助程序路径的代码

TCHAR FileModule[0x100]{};
    GetModuleFileName(NULL, FileModule, 0x100);
    int i;
    for (i = 0x100 - 1; FileModule[i] != '\\'; i--)
        FileModule[i] = 0;
    wAppPath.Format(L"%s", FileModule);

然后在需要路径的子页面写一个接收路径的函数

函数具体实现:

void CWndINJ::Init(CString& _AppPath)
{
    AppPath = _AppPath;
    GameIni.Format(L"%s\\config\\Games.ini", AppPath);
}

要保存的游戏信息在CWndAddGame类里,所以要在CWndAddGame类中创建一个可以给父窗口返回值的函数,也就是利用父窗口对象的this调用父窗口的函数

void CWndAddGame::Init(void* _father)
{
    father = _father;
}

父窗口用来保存游戏数据的地方

void CWndINJ::AddGame(CString& GameName, CString& GamePath, CString& GameFullPath, CString& GameCmds, CString& DllPath)
{
    int count = GetPrivateProfileInt(L"main", L"count", 0, GameIni);
    count++;
    CString key;
    key.Format(L"count_%d", count);
    WritePrivateProfileString(key, L"GameName", GameName, GameIni);
    WritePrivateProfileString(key, L"GamePath", GamePath, GameIni);
    WritePrivateProfileString(key, L"GameFullPath", GameFullPath, GameIni);
    WritePrivateProfileString(key, L"GameCmds", GameCmds, GameIni);
    WritePrivateProfileString(key, L"DllPath", DllPath, GameIni);

    CString wCount;
    wCount.Format(L"%d", count);
    WritePrivateProfileString(L"main", L"count", wCount, GameIni);
}

给调用给父窗口传值的函数的地方

void CWndAddGame::OnBnClickedButton3()
{
    CWndINJ* p = (CWndINJ*)father;
    UpdateData(TRUE);
    p->AddGame(GameName, GamePath, GameFullPath, GameCmds, DllPath);
    CDialog::OnCancel();
}

主窗口给子窗口传递路径的地方

相关推荐

  1. Android 生成Excel文件保存本地

    2024-06-17 23:42:02       43 阅读
  2. SpringBoot将上传的文件保存临时文件

    2024-06-17 23:42:02       40 阅读
  3. python将输出保存txt文档

    2024-06-17 23:42:02       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 23:42:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 23:42:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 23:42:02       87 阅读
  4. Python语言-面向对象

    2024-06-17 23:42:02       96 阅读

热门阅读

  1. python 地图+经纬度标记

    2024-06-17 23:42:02       33 阅读
  2. Lua Table(表)

    2024-06-17 23:42:02       26 阅读
  3. 内网穿透的原理:实现远程访问的技术揭秘

    2024-06-17 23:42:02       30 阅读
  4. 佐助题库1228答案

    2024-06-17 23:42:02       30 阅读
  5. Spring Boot 面试热点(二)

    2024-06-17 23:42:02       34 阅读
  6. SQLite 日期 & 时间

    2024-06-17 23:42:02       28 阅读
  7. Linux安装docker

    2024-06-17 23:42:02       28 阅读
  8. xss-lab靶场的level15-level20

    2024-06-17 23:42:02       25 阅读