【发布时间】:2015-04-17 17:18:34
【问题描述】:
我最近开始使用madhookc 挂钩库进行应用程序拦截。我正在挂钩应用程序中调用的方法来处理文本。有一次我被卡住了,需要你的帮助。
我有一段文字,其中有些文字是粗体,有些是常规样式。现在我想区分常规和粗体文本并对两者进行不同的操作。我知道每行要显示的文本都会调用QFont::setFamily(QString) 函数。所以我迷上了setFamily()。现在我可以获得文本的字体系列,但段落的所有文本(即常规和粗体)都具有相同的字体系列。现在我想检查此文本是否为粗体,因此我需要一个 QFont 类的对象,以便我可以将其称为 bold();,它返回 true 或 false。最终我想要setFamily()函数的这个指针。(就像我们在pointcut中得到targetAspectJ拦截一样。)
void WINAPI newsetFamily( QString & family );
void (WINAPI *UnhooksetFamily)( QString & family );
void WINAPI newsetFamily ( QString & family )
{
QFont *font=this_pointer;
if(font->bold())
{
//do this
}
else
{
//do this
}
}
请帮帮我。提前谢谢。 . .
【问题讨论】:
标签: c++ qt hook interceptor