Модуль, не найденный

Я работал над этим вполне немного и не добрался немного ближе до решения.

Я juut вскопал мою старую копию WindowsHookLib снова - Это доступно с источником по http://www.codeproject.com/KB/DLL/WindowsHookLib.aspx. Эта библиотека позволяет Глобальный Windows Mouse/Keyboard/Clipboard Hooks, который очень полезен.

Я пытаюсь использовать Рычаг Мыши в здесь к Захватывать-мышь-движению (я мог использовать Таймер, который всегда опрашивает Курсор. Положение, но я планирую использование большего количества функций WindowsHookLib позже).

Код следующим образом:

MouseHook mh = new MouseHook();
mh.InstallHook();
mh.MouseMove += new EventHandler(mh_MouseMove);

Но на вызове к InstallHook (), я получаю Исключение: "Указанный Модуль не мог быть найден".Странно. При поиске я нашел, что кто-то думал, что это происходит, потому что DLL не находится в месте, включенном в переменную Windows PATH, и потому что размещение его в system32 не помогло, я пошел до конца и перевел вещь в C# для включения непосредственно в мой проект (мне было любопытно, как это работает).

Однако ошибка была упрямо персистентной, таким образом, я вырыл немного на этом и нашел Код в Библиотеке, которая ответственна: В InstallHook (), мы имеем

IntPtr hinstDLL = Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]);
this._hMouseHook = UnsafeNativeMethods.SetWindowsHookEx(14, this._mouseProc, hinstDLL, 0);
if (this._hMouseHook == IntPtr.Zero)
{
      throw new MouseHookException(new Win32Exception(Marshal.GetLastWin32Error()).Message);
}

И это (после того, как модификация и перекомпилировала) говорит мне, который, что я действительно получаю, ошибка Windows "ERROR_MOD_NOT_FOUND"! Теперь, Здесь я озадачен. Я только скомпилировал Библиотеку Рычага непосредственно в мой проект?

(UnsafeMethods. SetWindowsHookEx является просто Методом DllImported от user32),

Любые Ответы, или Напоминания в правильном направлении, или любые подсказки, указатели или подобный очень ценятся!

5
задан TMP 5 May 2010 в 15:46
поделиться

1 ответ

У меня тоже возникла эта проблема. Я обнаружил, что это похоже на версию .Net, которую вы используете. .Net 4 вы получите эту ошибку, перейдите на .Net 3.5, и она работает.

1
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: