最近我开了个博客,因为刚开始所以点击量很小,级别很低,所以我想弄一个模拟按键“F5”定时刷新,这样到一定等级后,我想真正的点击量就会多起来了。所以写了个非常简单,不够完善的小程序,不过有效果就行。
一开始想用FindWindow函数寻找对应网页的句柄,没有实现出来。一般窗体的是没什么问题的。放弃了,想到VC提供了一个SPY++可以直接扫描到句柄,我就把SPY++扫描的结果当着一个参数直接使用。
实现方式为:用AfxBeginThread开个简单线程,然后把句柄结果传到响应函数里,在响应函数里用GetTickCount函数进行时段计算,定时用PostMessage函数发送消息给窗口。这样就可以直接实时刷新了。比较好的做法是模拟SPY++用鼠标去定位所要的窗口,定位到以后,立马定时地发送消息,这样就整合起来了。
主要源码为:
CWinThread* mythread = AfxBeginThread(
MyThreadFunction,
(HWND)0X000E0AB6,
THREAD_PRIORITY_NORMAL,
0,
0,
NULL
);
UINT MyThreadFunction( LPVOID pParam)
{
HWND pHwnd= (HWND)pParam;
DWORD dStart_time = GetTickCount();
DWORD dEnd_time = GetTickCount();
while (true)
{
dEnd_time = GetTickCount();
if ((dEnd_time-dStart_time) > 60000) //定时器
{
if (pHwnd != NULL)
{
::PostMessage(pHwnd,WM_KEYDOWN, VK_F5, 0L); //发送F5按下的键盘消息
}
else
{
break;
}
dStart_time = GetTickCount();
}
}
return 0;
}