Тема: AHK_H: DynaCall, MemoryModule
Доброе утро. Пытаюсь разобраться с Dynacall и MemoryModule в AHK_H, решил попробовать переписать функцию:
DllInject(dllname)
{
hMod := DllCall("LoadLibrary", Str, dllname, Ptr)
hHook := DllCall("SetWindowsHookEx", Int, 5, Ptr, DllCall("GetProcAddress", Ptr, hMod, AStr, "CBProc", ptr), Ptr, hMod, Ptr, 0, Ptr)
}
Все работает, длл грузится. Следуя примеру из документации получил следующее:
DllInject(dllname)
{
hMod := DynaCall("LoadLibrary", s, dllname, t)
hHook := DynaCall("SetWindowsHookEx", i, 5, t, DynaCall("GetProcAddress", t, hMod, a, "CBProc", t), t, hMod, ui, 0, t)
}
Так не работает.
DllInject(dllname)
{
hMod:= MemoryLoadLibrary(dllname)
hHook := DllCall("SetWindowsHookEx", Int, 5, Ptr, MemoryGetProcAddress(hMod, "CBProc"), Ptr, hMod, Ptr, 0, Ptr)
}
Так тоже. Дескриптор получаю, но хук не вешается. Пробовал смотреть через A_MemoryModule, тоже не получается. Где ошибки?