对于使用Microsoft Detours的项目,我需要帮助。
前提:我正在尝试使用我在一个使用Detours的CodeProject项目中找到的类。我从Github下载了最新版本的Detuors,并重新编译了它,但是我找不到宏DETOUR_TRAMPOLINE的定义。我想,在新版本的Detours中,它已经在某种程度上被取代了。
在使用这个缺失宏的项目中,它的用法如下:
DETOUR_TRAMPOLINE(BOOL WINAPI Detour_EnableScrollBar(HWND hwnd, int wSBflags, UINT wArrows), EnableScrollBar);
DETOUR_TRAMPOLINE(BOOL WINAPI Detour_GetScrollInfo (HWND hwnd, int fnBar, LPSCROLLINFO lpsi), GetScrollInfo);
DETOUR_TRAMPOLINE(int WINAPI Detour_GetScrollPos (HWND hwnd, int nBar), GetScrollPos);
DETOUR_TRAMPOLINE(BOOL WINAPI Detour_GetScrollRange (HWND hwnd, int nBar, LPINT lpMinPos, LPINT lpMaxPos), GetScrollRange);
DETOUR_TRAMPOLINE(int WINAPI Detour_SetScrollInfo (HWND hwnd, int fnBar, LPSCROLLINFO lpsi, BOOL fRedraw), SetScrollInfo);
DETOUR_TRAMPOLINE(int WINAPI Detour_SetScrollPos (HWND hwnd, int nBar, int nPos, BOOL fRedraw), SetScrollPos);
DETOUR_TRAMPOLINE(int WINAPI Detour_SetScrollRange (HWND hwnd, int nBar, int nMinPos, int nMaxPos, BOOL fRedraw), SetScrollRange);
DETOUR_TRAMPOLINE(BOOL WINAPI Detour_ShowScrollBar (HWND hwnd, int wBar, BOOL fShow), ShowScrollBar);问题:
提前感谢您的帮助!
发布于 2019-11-28 14:37:29
正如JHBonarius在他的评论中所解释的那样,自从删除了这个宏之后,已经发布了许多版本的Detours,因此对所讨论的代码进行快速更改可能并不容易。
我想向感兴趣的人指出一个非常简单和包含的库,它和Detours一样,允许您重定向Windows (即使它提供的功能要少得多)。
所讨论的库是MinHook,源代码仍然可用这里。
发布于 2019-11-28 10:35:56
谷歌搜索"#define DETOUR_TRAMPOLINE"带来了:
#define DETOUR_TRAMPOLINE(trampoline,target) \
static PVOID __fastcall _Detours_GetVA_##target(VOID) \
{ \
return ⌖ \
} \https://stackoverflow.com/questions/59084792
复制相似问题