2015-04-10 7 views
-2

Я попытался вставить C++ DLL в другую консольную консоль WIN32. Инжектор (winjet) показывает, что он успешно вводится, но сама DLL ничего не делает. В качестве компилятора я использую Visual Studio 2013, и я только выяснил, использую ли я предварительно скомпилированный заголовок и этот пресет .cpp вместо пустого проекта без предварительно скомпилированного заголовка, он работает.Injected DLL ничего не делает

Dll.cpp:

BOOL APIENTRY Dllmain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ 
    switch (reason) { 
    case DLL_PROCESS_ATTACH: 
      MessageBoxA(NULL, "Attached!", "InjectedDLL", MB_OK); 
    } 
    return TRUE; 
} 

Этот код работает с заранее заданными настройками и предварительно скомпилированных заголовков. Но почему это не без этого?

+0

Beep имеет ограничения там, где это возможно. В зависимости от целевого процесса он может вводить правильно, но без звукового сигнала. Помимо этого, ваш вопрос должен содержать небольшую информацию. – deviantfan

+0

@deviantfan В приведенном коде была ошибка, поэтому информации было достаточно. Но ура за то, что я опустил свой вопрос: P –

+1

a) Были «два» спутника (и один верхний угол от третьего лица). б) Не обманывайтесь, обвиняя людей в вещах, не зная, сделали ли они это. – deviantfan

ответ

1

Точка входа в Windows DLL называется DllMain, а не Dllmain.

У вас нет ошибки в компиляции (например, при неправильном написании main), так как это необязательно.

 Смежные вопросы

  • Нет связанных вопросов^_^