/* int DrawText( HDC hDC, // handle to DC LPCTSTR lpString, // text to draw int nCount, // text length LPRECT lpRect, // formatting dimensions UINT uFormat // text-drawing options ); 这里关键的就是HDC,采取APIHOOK的时候有必要对HDC进行检测,是否是FloatWnd的HDC, 获取HDC前,肯定要GetDc,CreateDc,BeginPaint之类来进行创建设备句柄。 这时也可以Hook这些函数,根据这些函数的返回值HDC以及参数HWND来判断HDC是否是FloatWnd的句柄,也就可以断定DrawText中的文本是否是百分比了。 */
/* 这里只是提供一个思路,理论上是可行的. */
/*<1>获取迅雷悬浮窗句柄(注:MFC中窗口的类名是配合Icon句柄,Handle句柄生成的.所以,这个类名很随机)
HWND FloatWnd = FindWindow(_T("Afx:25600000:8"),NULL);
<2>既然现实文本,那么肯定会用到API函数,譬如DrawText.那么就可以对FloatWnd采取APIHook截取到显示百分比的文本了。
*/
/* int DrawText(
HDC hDC, // handle to DC
LPCTSTR lpString, // text to draw
int nCount, // text length
LPRECT lpRect, // formatting dimensions
UINT uFormat // text-drawing options
);
这里关键的就是HDC,采取APIHOOK的时候有必要对HDC进行检测,是否是FloatWnd的HDC,
获取HDC前,肯定要GetDc,CreateDc,BeginPaint之类来进行创建设备句柄。
这时也可以Hook这些函数,根据这些函数的返回值HDC以及参数HWND来判断HDC是否是FloatWnd的句柄,也就可以断定DrawText中的文本是否是百分比了。
*/
里面有个IAgent::GetTaskInfo