新版本QQ的那个登录窗口的标题"QQ用户登录",好像是画上去的,FindWindow找不到窗口句柄,请问如何用别的编程方法(不用Spy++)得到QQ登录 你想做一个木马来查看别人的密码吧?那个输入号码和输入密码的输入框类名是:edit用SPY++找不到类名,但你可以自己编程找到它,有一个函数是用来返回当前窗口的句柄的。现在忘了,有时间咱们QQ上聊清楚。QQ:80125199 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我不是想看别人的密码,我是想用编程的方法每次制动把密码打好,并给"登录"按钮发一个Click事件,可是QQ登录窗口的句柄用findwindow(null,"QQ用户登录")找不到。 WM_LBUTTONDOWN:SetCapture(hWnd);return 0;WM_LBUTTONUP:if(hWnd==GetCapture()) ReleaseCapture();retur 0;case WM_MOUSEMOVE:{if(hWnd==GetCapture()){POINT pt={LOWORD(lParam),HIWORD(lParam)};ClientToScreen(&pt);HWND h=WindowFromPoint(&pt);//获取当前Cursor下的窗口句柄.TCHAR szHwnd[30];int nLength=wsprintf(szHwnd,TEXT("0x%0.8x"),(LONG)h);HDC hdc=::GetDC(hWnd);TextOut(hdc,10,10,szHwnd,nLength);::ReleaseDC(hWnd,hdc);}return 0;} 对,QQ的登录窗口标题实际是xxxxx,那行字确实是画上去的。 问题不难呀。 HWND hwndParent = NULL; int nTryTimes = 0; while( !hwndParent && nTryTimes < 100 )//10秒还没起来就88了 { Sleep(100); nTryTimes ++; hwndParent= ::FindWindow(NULL,"QQ用户登录"); } SetActiveWindow(); // ::SetForegroundWindow(hwndParent); // ::ShowWindow(hwndParent,SW_HIDE); HWND hCombo=::FindWindowEx(hwndParent,0,"ComboBox",NULL);//找到combobox HWND hEdit=::FindWindowEx(hwndParent,0,"Edit",NULL); //找到Edit // HWND hCheck=::FindWindowEx(hwndParent,0,"隐身登陆",NULL); //找到隐身登陆Check按钮 HWND hLogon=::FindWindowEx(hwndParent,0,"Button","登陆");//找到登陆按钮(这个句柄我找不到) ::SendMessage(hCombo,CB_RESETCONTENT,0,0);//清除列表框中的内容 // char user[50]="82008209"; char *user=m_name.GetBuffer(m_name.GetLength()); ::SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)user); ::SendMessage(hCombo,CB_SETCURSEL,0,(LPARAM)user); char* szEdit=m_password.GetBuffer(m_password.GetLength()); ::SendMessage(hEdit,WM_SETTEXT,0,(LPARAM)szEdit); // ::SendMessage(hLogon,TB_PRESSBUTTON,0,0); // keybd_event(VK_RETURN,0,0,0);//按下ENTER键 // keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);//放开ENTER键 ::SendMessage(hwndParent,WM_COMMAND,IDOK,0);以上是我写的自动登陆QQ的代码 这里是不是人多些?再发:郁闷了!写socket时,无法将结构体转换成char*发送 VC2008能用的内存越界检查工具有吗? Shellexec的问题,请帮忙。 windows explorer风格的树应用谁会啊,100分求帮助 菜鸟急问:在非主线程使用CAsyncSocket无法跟踪调试 集函数与记录集 怎样为该类的分配空间? ADO中MovePrevious的问题 XML,有谁用过Shape取得层次数据集,注:数据库是Oracle 大家 帮我 解决个 问题吧! 谢谢了 请问如何得到MENU中某一项在屏幕上的位置?????? 急急急!!!哪儿寻找MFC042D.dll
SetCapture(hWnd);
return 0;
WM_LBUTTONUP:
if(hWnd==GetCapture()) ReleaseCapture();
retur 0;
case WM_MOUSEMOVE:
{
if(hWnd==GetCapture())
{
POINT pt={LOWORD(lParam),HIWORD(lParam)};
ClientToScreen(&pt);
HWND h=WindowFromPoint(&pt);//获取当前Cursor下的窗口句柄.
TCHAR szHwnd[30];
int nLength=wsprintf(szHwnd,TEXT("0x%0.8x"),(LONG)h);
HDC hdc=::GetDC(hWnd);
TextOut(hdc,10,10,szHwnd,nLength);
::ReleaseDC(hWnd,hdc);
}
return 0;
}
HWND hwndParent = NULL;
int nTryTimes = 0;
while( !hwndParent && nTryTimes < 100 )//10秒还没起来就88了
{
Sleep(100);
nTryTimes ++;
hwndParent= ::FindWindow(NULL,"QQ用户登录");
}
SetActiveWindow();
// ::SetForegroundWindow(hwndParent);
// ::ShowWindow(hwndParent,SW_HIDE);
HWND hCombo=::FindWindowEx(hwndParent,0,"ComboBox",NULL);//找到combobox
HWND hEdit=::FindWindowEx(hwndParent,0,"Edit",NULL); //找到Edit
// HWND hCheck=::FindWindowEx(hwndParent,0,"隐身登陆",NULL); //找到隐身登陆Check按钮
HWND hLogon=::FindWindowEx(hwndParent,0,"Button","登陆");//找到登陆按钮(这个句柄我找不到)
::SendMessage(hCombo,CB_RESETCONTENT,0,0);//清除列表框中的内容
// char user[50]="82008209";
char *user=m_name.GetBuffer(m_name.GetLength());
::SendMessage(hCombo,CB_ADDSTRING,0,(LPARAM)user);
::SendMessage(hCombo,CB_SETCURSEL,0,(LPARAM)user);
char* szEdit=m_password.GetBuffer(m_password.GetLength());
::SendMessage(hEdit,WM_SETTEXT,0,(LPARAM)szEdit);
// ::SendMessage(hLogon,TB_PRESSBUTTON,0,0);
// keybd_event(VK_RETURN,0,0,0);//按下ENTER键
// keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0);//放开ENTER键
::SendMessage(hwndParent,WM_COMMAND,IDOK,0);
以上是我写的自动登陆QQ的代码