您正在看的电脑技术荟萃是:关于查找QQ发送窗口的问题。
看到好多人都在问QQ方面的问题,主要是关于研究QQ尾巴的问题,网络上已经有很多这方面的例子,但是在用到作者提供的代码时候,不能够正确的找到RICHEDIT,因此无法挂接钩子,下面这个方法,应该是可以,同时附带上qqhook的源代码。
测试cpp
#include <afx.h>
//#include <windows.h>
#include "QQHook.h"
#pragma comment(lib, "QQHook.lib")
#include "resource.h"
#define ID_MYTIMER 419 // ¼ÆÊ±Æ÷ID
BOOL g_bStart;
HWND g_hQQ;
LRESULT CALLBACK ProcMain(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
{
switch (Msg)
{
case WM_CLOSE:
// AnimateWindow(hDlg, 800, AW_HIDE | AW_SLIDE | AW_VER_POSITIVE);
EndDialog(hDlg, 0);
break;
case WM_COMMAND:
{
if (LOWORD(wParam) == IDC_BTN_CONTROL)
{
g_bStart = !g_bStart;
SetDlgItemText(hDlg, IDC_BTN_CONTROL, g_bStart ? "Í£Ö¹" : "¿ªÊ¼");
if (g_bStart)
SetTimer(hDlg, ID_MYTIMER, 1000, NULL);
else
{
KillTimer(hDlg, ID_MYTIMER);
SetHook(NULL);
}
}
if (LOWORD(wParam) == IDC_BTN_EXIT)
SendMessage(hDlg, WM_CLOSE, 0, 0);
}
break;
case WM_DESTROY:
PostQuitMessage(0);
break;
case WM_INITDIALOG:
{
int x, y;
RECT rect;
g_bStart = FALSE;
GetWindowRect(hDlg, &rect);
x = GetSystemMetrics(SM_CXSCREEN) - rect.right + rect.left;
y = GetSystemMetrics(SM_CYMAXIMIZED) - rect.bottom + rect.top - 10;
SetWindowPos(hDlg, HWND_TOPMOST, x, y, 0, 0, SWP_NOSIZE | SWP_NOZORDER);
// AnimateWindow(hDlg, 800, AW_SLIDE | AW_VER_NEGATIVE);
}
break;
case WM_TIMER:
{
if (!IsWindow(g_hQQ))
{
HWND hwnd;
HWND hSend;
// CWnd *myWnd;
int nIdFirst;
int flag;
char lpbuf[256];
// DWORD a;
g_hQQ = NULL;
hwnd=NULL;
hSend=NULL;
SetHook(NULL);
// do
// {
// g_hQQ = FindWindowEx(NULL, g_hQQ, "#32770", NULL);
// GetWindowText(g_hQQ,lpbuf,255);
// if(strcmp(lpbuf,"Óë ·É ÁÄÌìÖÐ")==0)break;
// hSend = FindWindowEx(g_hQQ,NULL, "Button", "·¢ËÍ(&S)");
// } while(!(g_hQQ != NULL && hSend != NULL));
nIdFirst=0;
flag=0;
while(1)
{
g_hQQ=FindWindowEx(NULL, g_hQQ, "#32770", NULL);
if(g_hQQ==NULL)break;
&nb
(阅读次数:)
共3页: 上一页 1 [2] [3] 下一页