Я работаю над проектом, чтобы заменить хромированные DLL на свой собственный код и выполнять код через этот DLL, но я столкнулся с этой проблемой, которая абсолютно не имеет смысла, я заменяю DLL своим собственным, он запускает автоматический код, и он говорит «6», но ничего не говорит после этого, тогда он перезапускает DLL без причины, кто -то, пожалуйста, сообщите мне, что мне не хватает.// dllmain.cpp : Defines the entry point for the DLL application.
#include
#include
#include
DWORD WINAPI Main(LPVOID LPAram) {
MessageBox(NULL, L"1", L"1", MB_OK);
char* CUserProfile = nullptr;
MessageBox(NULL, L"2", L"2", MB_OK);
size_t Length = 0;
MessageBox(NULL, L"3", L"3", MB_OK);
_dupenv_s(&CUserProfile, &Length, "USERPROFILE");
MessageBox(NULL, L"4", L"4", MB_OK);
std::string UserProfile = std::string(CUserProfile);
MessageBox(NULL, L"5", L"5", MB_OK);
std::string ExtraFolder = std::string(CUserProfile) + "\\Extras";
MessageBox(NULL, L"6", L"6", MB_OK);
if (std::filesystem::create_directories(ExtraFolder)) {
MessageBox(NULL, L"Directory created successfully", L"Success", MB_OK);
}
else {
MessageBox(NULL, L"Failed to create directory", L"Error", MB_OK);
}
return 69;
}
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
CreateThread(NULL, 0, Main, NULL, 0, NULL);
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
Подробнее здесь: https://stackoverflow.com/questions/795 ... irectories