首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft Detours:缺少宏

Microsoft Detours:缺少宏
EN

Stack Overflow用户
提问于 2019-11-28 08:46:31
回答 2查看 163关注 0票数 0

对于使用Microsoft Detours的项目,我需要帮助。

前提:我正在尝试使用我在一个使用Detours的CodeProject项目中找到的类。我从Github下载了最新版本的Detuors,并重新编译了它,但是我找不到宏DETOUR_TRAMPOLINE的定义。我想,在新版本的Detours中,它已经在某种程度上被取代了。

在使用这个缺失宏的项目中,它的用法如下:

代码语言:javascript
复制
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);

问题:

  • 新版本的“毒虫”中是否有一种与旧的宏相同的效果?
  • 如果它不要求太多,我能问您一些建议吗?如何重写上面报告的代码,使其与新方法兼容?

提前感谢您的帮助!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-28 14:37:29

正如JHBonarius在他的评论中所解释的那样,自从删除了这个宏之后,已经发布了许多版本的Detours,因此对所讨论的代码进行快速更改可能并不容易。

我想向感兴趣的人指出一个非常简单和包含的库,它和Detours一样,允许您重定向Windows (即使它提供的功能要少得多)。

所讨论的库是MinHook,源代码仍然可用这里

票数 0
EN

Stack Overflow用户

发布于 2019-11-28 10:35:56

谷歌搜索"#define DETOUR_TRAMPOLINE"带来了:

代码语言:javascript
复制
#define DETOUR_TRAMPOLINE(trampoline,target) \
static PVOID __fastcall _Detours_GetVA_##target(VOID) \
{ \
    return ⌖ \
} \
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59084792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档