крч вот, самый примитивный вариант, на этот раз я проверил, все работает, ЕСЛИ ВЫ МНЕ НАПИШИТЕ, ЧТО У ВАС КОНСОЛЬКА СРАЗУ ЗАКРЫВАЕТСЯ, то это я просто не добавил гетсин в конце, а так вы можете через терминал винды запустить ./x86.exe и увидите отладочные строки
p.s, один чувак мне написал, что у него process.txt не читает, поэтому 3 файл , это просто под amazing.exe скомпилированный сурс из темы
#include <iostream>
#include <Windows.h>
#include <string>
#include <fstream>
int main() {
std::string asiFolderPath = ".\\asi\\";
std::string processName;
std::ifstream inputFile("process.txt");
if (inputFile.is_open()) {
if (std::getline(inputFile, processName)) {
inputFile.close();
}
else {
std::cerr << "Cant read process.txt." << std::endl;
inputFile.close();
return 1;
}
}
else {
std::cerr << "Cant open process.txt." << std::endl;
return 1;
}
WIN32_FIND_DATAA findFileData;
HANDLE hFind = FindFirstFileA((asiFolderPath + "*.asi").c_str(), &findFileData);
if (hFind != INVALID_HANDLE_VALUE) {
do {
std::string asiFilePath = asiFolderPath + findFileData.cFileName;
HMODULE asiModule = LoadLibraryA(asiFilePath.c_str());
if (asiModule != nullptr) {
std::cout << "ASI " << findFileData.cFileName << " Loaded to " << processName << std::endl;
FreeLibrary(asiModule);
}
else {
std::cerr << "Error load " << findFileData.cFileName << " to " << processName << std::endl;
}
} while (FindNextFileA(hFind, &findFileData) != 0);
FindClose(hFind);
}
else {
std::cerr << "Cant find .asi in folder " << asiFolderPath << std::endl;
}
return 0;
}