SetWindowsHookEx завершается с ошибкой 126

я пытаюсь использоватьGma.UserActivityMonitor библиотека в проекте, и яЯ столкнулся с ошибкой, которую не могу преодолеть самостоятельно.

вHookManager.Callbacks.cs файл там "статический метод называетсяEnsureSubscribedToGlobalMouseEvents со следующим кодом (более или менее):

var asm = Assembly.GetExecutingAssembly().GetModules()[0];
var mar = Marshal.GetHINSTANCE(asm);
s_MouseHookHandle = SetWindowsHookEx(
    WH_MOUSE_LL,
    s_MouseDelegate,
    mar,
    0);
//If SetWindowsHookEx fails.
if (s_MouseHookHandle == 0)
{
    //Returns the error code returned by the last unmanaged function called using platform invoke that has the DllImportAttribute.SetLastError flag set. 
    int errorCode = Marshal.GetLastWin32Error();
    //do cleanup

    //Initializes and throws a new instance of the Win32Exception class with the specified error. 
    throw new Win32Exception(errorCode);
}

SetWindowsHookEx всегда возвращается0 и приведенный выше код продолжает выдавать исключение с сообщениемThe specified module could not be found и призыв кMarshal.GetLastWin32Error код возврата126, Я могу успешно запустить демонстрацию, предоставленную Gma.UserActivityMonitor 'Оригинальный проект, но так как мой проект слишком сложен для объяснения, я не могу вдаваться в детали, объясняя его разницу с моим. Я'Я просто надеюсь, что кто-то может слепо угадать проблему.

Кстати, в проектеs FAQ это 's сказал, что у других есть проблема, близкая к моей (сSetWindowsHookEx возвращая ошибку), когдаEnable Visual Studio hosting process проверяется только при отладке проекта. Так что я снял флажок в моей и все еще яУ меня та же проблема, и не только в режиме отладки, но и когда я дважды щелкаю файл релиза в проводнике Windows (Visual Studio не участвует).

Чтобы дать больше информации, в демонстрационном проекте (который прекрасно работает)asm переменная указывает на{Gma.UserActivityMonitor.dll} и то же самое в моем проекте, который брошено исключение!

Ответы на вопрос(1)

Ваш ответ на вопрос