极域控制器+MC启动器发布V8版本!!!(包括完整版)

(英文名称: JiyuController And MinecraftLauncher ) 以下简称JAM

V8 版本首次出现了两个分支 : Lite VersionStandard version


Lite Version (轻量版)

只有控制极域的功能!!!

但文件大小是标准版的几千分之一!!!

甚至直接把源代码编译就能直接运行!!!

源码也直接贴下面。

当然也有编译好的exe。。

密码:h2k3

#include <iostream>
#include <cstdio>
#include <windows.h>
#include <tlhelp32.h>
#include <process.h>
#include <ctime>
#pragma comment(lib,"advapi32")
using namespace std;

UINT GetMythwarePathFromRegedit(char *str) {
    HKEY retKey;
    char tstr[200] = "SOFTWARE\\WOW6432Node\\TopDomain\\e-Learning Class Standard\\1.00";
    DWORD dwDisposition = REG_OPENED_EXISTING_KEY;
    LONG ret = RegCreateKeyEx(HKEY_LOCAL_MACHINE, tstr, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_READ, NULL, &retKey, &dwDisposition);
    if (ret != ERROR_SUCCESS) {
        //打开注册表失败
        return FALSE;
    }
    BYTE tByte[MAX_PATH * 2 + 1];
    DWORD nSize = MAX_PATH * 2 + 1;
    int sum = 0;
    ret = RegQueryValueEx(retKey, "TargetDirectory", NULL, NULL, tByte, &nSize);
    if (ret == ERROR_SUCCESS) {
        for (int i = 0; i < int(nSize); i += 1) {
            *(str + sum) = tByte[i];
            if (*(str + sum++) == '\\') {
                *(str + sum++) = '\\';
            }
        }
        return TRUE;
    }
    return FALSE;
}

void color(int a) {
    /*亮白*/    if(a==0) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
    /*蓝色*/    if(a==1) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN|FOREGROUND_BLUE);
    /*绿色*/    if(a==2) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_GREEN);
    /*紫色*/    if(a==3) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_BLUE);
    /*红色*/    if(a==4) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED);
    /*黄色*/    if(a==5) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_RED|FOREGROUND_GREEN);
    /*深蓝色*/    if(a==6) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY|FOREGROUND_BLUE);
    /*土黄色or金黄色*/    if(a==7) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN);
    /*灰色接近白*/    if(a==8) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE);
}

void SuspendProcess(DWORD process_id) {
    HANDLE hThreadSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
    THREADENTRY32 threadEntry;
    threadEntry.dwSize = sizeof(THREADENTRY32);
    Thread32First(hThreadSnapshot, &threadEntry);
    do {
        if (threadEntry.th32OwnerProcessID == process_id) {
            HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE,threadEntry.th32ThreadID);
            SuspendThread(hThread);
            CloseHandle(hThread);
        }
    } while (Thread32Next(hThreadSnapshot, &threadEntry));
    CloseHandle(hThreadSnapshot);
}

void ResumeProcess(DWORD process_id) {
    HANDLE hThreadSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
    THREADENTRY32 threadEntry;
    threadEntry.dwSize = sizeof(THREADENTRY32);
    Thread32First(hThreadSnapshot, &threadEntry);
    do {
        if (threadEntry.th32OwnerProcessID == process_id) {
            HANDLE hThread = OpenThread(THREAD_ALL_ACCESS, FALSE,threadEntry.th32ThreadID);
            ResumeThread(hThread);
            CloseHandle(hThread);
        }
    } while (Thread32Next(hThreadSnapshot, &threadEntry));
    CloseHandle(hThreadSnapshot);
}

DWORD qureyProcessId(std::string name) {
    DWORD pid;
    PROCESSENTRY32 entry;
    entry.dwSize = sizeof(PROCESSENTRY32);
    HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if (Process32First(snapshot, &entry) == TRUE) {
        while (Process32Next(snapshot, &entry) == TRUE) {
            if (std::string(entry.szExeFile) == name) {
                HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
                pid = GetProcessId(hProcess);
                //std::cout << "pid = " << pid << std::endl;
                // Do stuff..
                CloseHandle(hProcess);
            }
        }
    }
    CloseHandle(snapshot);
    return pid;
}

int main() {
    /*
    color(0);cout<<"1";
    color(1);cout<<"1";
    color(2);cout<<"1";
    color(3);cout<<"1";
    color(4);cout<<"1";
    color(5);cout<<"1";
    color(6);cout<<"1";
    color(7);cout<<"1";
    color(8);cout<<"1";
    */
    SetConsoleTitle("极域控制器+mc启动器V8 Lite Version");
    color(0) ;
    printf ("软件编写者:ZSY ,Volder\n版本:V8 Lite Version\n") ; 
    while(true) {
        color(1);
        printf ("输入0结束极域进程(相当于关闭极域节省内存,但老师看你的屏幕会黑屏)\n") ;
        color(2) ;
        printf ("输入1打开极域(可以被老师控制,就是正常情况)\n") ;
        color(3) ;
        printf ("输入2挂起极域(就像点了暂停 ,内存不会改变,但不占用cpu ,老师看你的屏幕会是你挂起时的屏幕)\n") ;
        color(4) ;
        printf ("输入3恢复极域进程(与第二个选项相反)\n") ;
        color(5) ;
        printf ("输入4退出本软件\n") ;;
        color(0);
        int val;
        scanf("%d",&val);
        printf("\n \n");
        if(val==0) {
            color(1);
            system("taskkill -f -im StudentMain.exe");
            color(8);
        } else if(val==1) {
            char ch[100];
            if(GetMythwarePathFromRegedit(ch)) {
                color(5);
                strcat(ch,"StudentMain.exe");
                printf("极域课堂的安装路径是:%s\n",ch);
                color(1);
                WinExec(ch,SW_SHOW);
                //WinExec("C:\\Program Files (x86)\\Mythware\\极域课堂管理系统软件V6.0 2016 豪华版\\StudentMain.exe",SW_SHOW);
                printf("已打开极域\n");
            } else {
                color(4);
                printf("你尚未用管理员程序运行或未安装极域课堂!!!\n");
            }
            color(8);
        } else if(val==2) {
            color(1);
            SuspendProcess(qureyProcessId("StudentMain.exe"));
            printf("已挂起极域进程\n");
            color(8);
        } else if(val==3) {
            color(1);
            ResumeProcess(qureyProcessId("StudentMain.exe"));
            printf("已恢复极域进程\n");
            color(8);
        } else if(val==4) {
            color(1);
            printf("你已退出本软件,欢迎下次使用\n");
            system("pause");
            color(8);
            return 0;
        } 

        printf("\n \n");
    }
    return 0;
}

Standard Version (标准版)

就是不仅有极域控制 ,还可以启动1.20.11.16.5不同的Minecraft

当然大小会很大

下载链接:百度网盘提取码:3yjp

源码在安装后文件夹的 source 文件夹内

只有源码没有mc文件是启动不了的。。

软件截图 :

(注:有时可能要手动用管理员身份运行