现在一键登录多QQ程序网上已经不少,
我想自己开发一个,
我看别人的是要输入QQ路径的,估计是要控制QQ程序进行登录,而不是自己写客户端的
现在最大的问题是:知道了QQ号和密码,怎样才能让QQ自行进行登陆??

解决方案 »

  1.   

    先得到QQ程序路径
    然后用process 启动它
    然后就找QQ主窗口,向它的 QQ textbox和passwordtextbox发送你的QQ和密码
    然后就再发送 按下登录按钮sendmessage
      

  2.   

    我现在已经能取得 QQ号码框和 密码框 的句柄了,请问怎样把QQ号和密码的值填进去?
    还有怎样点击那个登录按钮?
    请给出代码,好吗?
      

  3.   

    既然得到控件的句柄了,你可以把值付给那个控件的TEXT属性。
    你继续得到登录按钮的句柄,默认响应它的事件。
    不过我觉得这样你还是可能实现不了登录多个QQ程序,因为现在新版的QQ在进程里面都多了一个叫TIMPlatform.exe的进程,你只有关闭这个进程后才能同时登录多个QQ,而且即便关掉了好像也不是很稳定,随时都可能会掉线。
      

  4.   

    把值付给那个控件的TEXT属性。
    你继续得到登录按钮的句柄,默认响应它的事件。这个该怎样写代码?我试过SetWindowText不行,能给出代码吗?
      

  5.   

    既然你得到了QQ号处(ComboBox类,QQ2006)可这窗口上有四个ComboBox的类,你的句柄正确吗?
    密码处(Edit类),同级的大约有七个Edit,不同级的更多,你得到的一定正确吗?
    如果以上得到的全是对的,那可能好办,因为QQ大概还没屏蔽消息WM_SETTEXT吧
    用SendMessage发WM_SETTEXT试试
      

  6.   

    刚才试了一下,QQ的密码Edit已经屏蔽了消息wm_paste,wm_settext,wm_contentmenu
    要想在密码框中输入数据,还得另寻方法,请兄弟们共同探讨一下
    我只能实现输入QQ号码,发消息wm_settext就行了
      

  7.   

    谢谢各位
    已经搞定填入密码和点击登录的问题了,
    用的是 SendMessage 发送 WM_SETTEXT 给QQ号码框和密码框
    并且通过 PostMessage(hwnd,WM_KEYDOWN,0xd,0) 发送按回车键信息给QQ窗口来开始登录但是又有问题了:当一次过登陆多个QQ的时候,发现第一个可以成功,但其它的就弹出“QQ遇到问题需要重启”的错误提示
    请问该怎样解决?
      

  8.   

    错误信息如下:Type: EXCEPTION_ACCESS_VIOLATION
    Address: 0x60B036DC
    Error: Read address 0x0000003C Call stack:
    0x60B00000[36DC] MFC42.DLL: (1620888420,1620888420,0,1622152180)
    0X60B00000[1448] MFC42.DLL: (0,1620888420,1620888420,1620888368)
    0X60B00000[13F4] MFC42.DLL: (1620888420,0,11988536,1622240292)
    0X60B00000[11BC] MFC42.DLL: (0,11988536,1244136,4)
    0X60B00000[16C24] MFC42.DLL: (4,11988536,11986496,0)
    0X60B00000[16B78] MFC42.DLL: (5419048,11986416,5419032,1620860724)
    0X609B0000[2295] LoginCtrl.dll: (103,11987072,5419032,11987960)
    0X60090000[D2DD] BasicCtrlDll.dll: (-1320943152,38973464,1611256416,1611369824)
    0X60090000[D254] BasicCtrlDll.dll: (1611369824,5419048,11981144,1244376)
    0X60090000[D260] BasicCtrlDll.dll: (1620779145,1244388,1620848284,3)
    0X60B00000[1018] MFC42.DLL: (1244388,1620848284,3,1244400)
    0X609B0000[2089] LoginCtrl.dll: (11986416,11986496,5419064,1403096)
    0X609B0000[1E75] LoginCtrl.dll: (11986448,11986496,1611208755,5418888)
    0X00400000[147DD] QQ.exe: (1244640,5034100,3,1244652)
    0X00400000[146E4] QQ.exe: (1244604,1244532,1244616,1244612)
    0X00400000[1431B] QQ.exe: (11941800,11954912,0,11941800)
    0X00400000[13FE6] QQ.exe: (1244660,11954912,5446904,0)
    0X00400000[13D73] QQ.exe: (11941832,11954912,5446904,5446904)
    0X00400000[1E00] QQ.exe: (1244924,5446904,0,1245120)
    0X00400000[2420] QQ.exe: (0,1385591,0,5029463)
    0X60B00000[B4F3] MFC42.DLL: (4194304,0,1385591,1)
    0X00400000[CBE57] QQ.exe: (4194304,0,1385591,1)
    0X00400000[6FE73] QQ.exe: (0,0,2147348480,12)
    0X77E10000[F38C] kernel32.dll: (0,0,0,0)
    Modules: 
    -----------------------------------
    [ 0x00400000 ] F:\Tencent\QQ\QQ.exe [0.0.0.0,2006-03-09 16:25:45]
    [ 0x00B10000 ] C:\WINDOWS\system32\msctfime.ime [5.2.3790.0,2003-03-25 15:08:47]
    [ 0x00F80000 ] F:\Tencent\QQ\npkcntc.dll [2005.9.1.1,2005-09-01 14:32:10]
    [ 0x01A20000 ] C:\WINDOWS\system32\WinMide32.dll [5.1.2600.2180,2003-01-06 13:42:40]
    [ 0x10000000 ] F:\Tencent\QQ\npkpdb.dll [2003.10.1.1,2003-10-09 12:33:47]
    [ 0x53000000 ] C:\PROGRA~1\Yahoo!\ASSIST~1\Yhelper.dll [2.0.0.1013,2005-11-14 19:34:28]
    [ 0x5ED70000 ] C:\WINDOWS\system32\OLEPRO32.DLL [5.2.3790.0,2003-03-26 11:48:05]
    [ 0x60090000 ] F:\Tencent\QQ\BasicCtrlDll.dll [5.0.200.14,2006-01-16 17:42:00]
    [ 0x609B0000 ] F:\Tencent\QQ\LoginCtrl.dll [1.0.0.1,2006-03-09 16:04:59]
    [ 0x60B00000 ] F:\Tencent\QQ\MFC42.DLL [6.0.8665.0,1999-12-11 01:17:01]
    [ 0x611E0000 ] F:\Tencent\QQ\QQAPI.dll [1.0.0.1,2006-03-09 16:06:17]
    [ 0x61240000 ] F:\Tencent\QQ\QQBaseClassInDll.dll [1.0.0.1,2006-03-09 15:53:43]
    [ 0x61540000 ] F:\Tencent\QQ\QQHelperDll.dll [1.0.0.1,2006-03-09 15:50:24]
    [ 0x61E40000 ] F:\Tencent\QQ\RICHED20.dll [5.31.23.1218,2003-03-26 11:45:31]
    [ 0x61EB0000 ] F:\Tencent\QQ\RICHED32.DLL [5.0.2134.1,1999-12-11 01:14:55]
    [ 0x62170000 ] C:\WINDOWS\system32\MFC42LOC.DLL [6.0.8665.0,2003-03-26 11:47:39]
    [ 0x63090000 ] C:\WINDOWS\system32\LPK.DLL [5.2.3790.0,2003-03-26 11:47:30]
    [ 0x6D830000 ] C:\WINDOWS\system32\dbghelp.dll [5.2.3790.0,2003-03-26 11:46:30]
    [ 0x70AD0000 ] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.100.0_x-ww_8417450B\comctl32.dll [6.0.3790.0,2003-03-25 17:43:33]
    [ 0x70BC0000 ] C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_5.82.0.0_x-ww_8A69BA05\COMCTL32.dll [5.82.3790.0,2003-03-25 17:43:33]
    [ 0x71AD0000 ] C:\WINDOWS\system32\UxTheme.dll [6.0.3790.0,2003-03-26 11:45:52]
    [ 0x71B10000 ] C:\WINDOWS\system32\WSOCK32.dll [5.2.3790.0,2003-03-26 11:45:52]
    [ 0x71B50000 ] C:\WINDOWS\system32\WS2HELP.dll [5.2.3790.0,2003-03-26 11:45:52]
    [ 0x71B60000 ] C:\WINDOWS\system32\WS2_32.dll [5.2.3790.0,2003-03-26 11:45:52]
    [ 0x71BA0000 ] C:\WINDOWS\system32\NETAPI32.dll [5.2.3790.0,2003-03-26 11:45:51]
    [ 0x72EE0000 ] C:\WINDOWS\system32\USP10.dll [1.421.3790.0,2003-03-26 11:45:42]
    [ 0x72F40000 ] C:\WINDOWS\system32\WINSPOOL.DRV [5.2.3790.0,2003-03-26 11:45:42]
    [ 0x73A20000 ] C:\WINDOWS\system32\AVICAP32.dll [5.2.3790.0,2003-03-26 11:45:38]
    [ 0x73A70000 ] C:\WINDOWS\system32\MSVFW32.dll [5.2.3790.0,2003-03-26 11:45:38]
    [ 0x74400000 ] C:\WINDOWS\system32\Msimtf.dll [5.2.3790.0,2003-03-26 11:45:34]
    [ 0x74430000 ] C:\WINDOWS\system32\MSCTF.dll [5.2.3790.0,2003-03-26 11:45:33]
    [ 0x749C0000 ] C:\WINDOWS\system32\OLEACC.dll [4.2.5406.0,2003-03-26 11:45:31]
    [ 0x75D60000 ] C:\WINDOWS\system32\apphelp.dll [5.2.3790.0,2003-03-26 11:45:22]
    [ 0x75FE0000 ] C:\WINDOWS\system32\WININET.dll [6.0.3790.0,2003-03-26 11:45:21]
    [ 0x76080000 ] C:\WINDOWS\system32\MSASN1.dll [5.2.3790.139,2004-03-16 10:01:00]
    [ 0x760A0000 ] C:\WINDOWS\system32\CRYPT32.dll [5.131.3790.0,2003-03-26 11:45:21]
    [ 0x76170000 ] C:\WINDOWS\system32\MSIMG32.dll [5.2.3790.0,2003-03-26 11:45:21]
    [ 0x76180000 ] C:\WINDOWS\system32\IMM32.DLL [5.2.3790.0,2003-03-26 11:45:20]
    [ 0x761A0000 ] C:\WINDOWS\system32\comdlg32.dll [6.0.3790.0,2003-03-26 11:45:20]
    [ 0x76480000 ] C:\WINDOWS\system32\SETUPAPI.dll [5.2.3790.0,2003-03-26 11:45:19]
    [ 0x769E0000 ] C:\WINDOWS\system32\WINMM.dll [5.2.3790.0,2003-03-26 11:45:17]
    [ 0x76B70000 ] C:\WINDOWS\system32\IMAGEHLP.dll [5.2.3790.0,2003-03-26 11:45:17]
    [ 0x76EF0000 ] C:\WINDOWS\system32\CLBCatQ.DLL [2001.12.4720.0,2003-03-26 11:45:14]
    [ 0x76F70000 ] C:\WINDOWS\system32\COMRes.dll [2001.12.4720.0,2003-03-26 11:45:14]
    [ 0x770D0000 ] C:\WINDOWS\system32\OLEAUT32.dll [5.2.3790.0,2003-03-26 11:45:13]
    [ 0x77150000 ] C:\WINDOWS\system32\ole32.dll [5.2.3790.68,2003-07-06 04:04:12]
    [ 0x77280000 ] C:\WINDOWS\system32\SHLWAPI.dll [6.0.3790.0,2003-03-26 11:45:13]
    [ 0x77370000 ] C:\WINDOWS\system32\SHELL32.dll [6.0.3790.0,2003-03-26 11:45:10]
    [ 0x77B60000 ] C:\WINDOWS\system32\VERSION.dll [5.2.3790.0,2003-03-26 11:45:10]
    [ 0x77B70000 ] C:\WINDOWS\system32\msvcrt.dll [7.0.3790.0,2003-03-26 11:45:09]
    [ 0x77BD0000 ] C:\WINDOWS\system32\GDI32.dll [5.2.3790.0,2003-03-26 11:45:09]
    [ 0x77C20000 ] C:\WINDOWS\system32\RPCRT4.dll [5.2.3790.59,2003-07-06 04:04:12]
    [ 0x77CD0000 ] C:\WINDOWS\system32\USER32.dll [5.2.3790.0,2003-03-26 11:45:09]
    [ 0x77D60000 ] C:\WINDOWS\system32\ADVAPI32.dll [5.2.3790.0,2003-03-26 11:45:08]
    [ 0x77E10000 ] C:\WINDOWS\system32\kernel32.dll [5.2.3790.0,2003-03-26 11:45:08]
    [ 0x77F30000 ] C:\WINDOWS\system32\ntdll.dll [5.2.3790.0,2003-03-26 11:45:08]
    [ 0x780C0000 ] C:\WINDOWS\system32\MSVCP60.dll [6.5.2144.0,2002-05-30 05:00:05]
      

  9.   

    其它QQ窗口是可以正确填入QQ号和密码的,但就是无法登录。如果我把
    PostMessage(hwnd,WM_KEYDOWN,0xd,0) 
    注释掉然后自己按回车,那就可以成功,请问该怎么办?这可能是最后一个技术难关了
      

  10.   

    你不要发回车这消息,直接得到登录的句柄,发送WM_LBUTTONDOWN试试
      

  11.   

    楼主你要的功能我实现了,哈哈,
    SendMessage(hLog,WM_LBUTTONDOWN,0,0);
    SendMessage(hLog,WM_LBUTTONUP,0,0);
    hLog为按钮“登录“的句柄
    祝你好运
      

  12.   

    知道了QQ号和密码,怎样才能让QQ自行进行登陆??呵呵^_^  简单嘛,输入号码和密码 然后 点"记住密码"....让它自动登录哈哈.....都不用半句代码........
    唉,挂机,烦不烦啊?挂来干嘛?
      

  13.   

    遇到错误需要重启是由于TIMPlatform.exe进程引起的。这个进程控制了一次只能运行一个QQ程序,你可以把这个进程杀掉,但是这样运行多个QQ仍不会很稳定,隔一段时间就会提示重启。
    呵呵,楼主要是测试你就用旧版的QQ程序吧,可以运行多个,新的可能不行了。
      

  14.   

    我测试的是新版,可同时打开QQ,测试时只开了两个,也不知道是否稳定,后来加了点代码
    打开一个QQ关闭TIMPlatform.exe进程
    由于只有两个QQ号,只好测试两个QQ进程,估计多打也没问题
      

  15.   

    可以问一下怎么获得登录窗口中Edit类控件的句柄吗?
      

  16.   

    joist(六六):
    主窗口->#32770->Edit
    要不是楼主寻诱人的100分,我还不想去找呢,Edit在主窗口中有好多个,我运气好只试了两次就得到了
    COMBOBOX是第一个
    楼主也真强,用什么方法得到句柄的?
    我是用自己写的WinSpy程序得到的
      

  17.   

    呵呵,现在终于马马虎虎做出来了
    谢谢各位帮忙,结贴!我找句柄的方法很菜的,是要用户在框里输入些东西,然后遍历元素根据用户输入的东西判断是不是要找的框,然后把该元素在对话框中的序号记录下来,方便以后查找
    找到句柄后该怎样处理,我在上文已经说得比较清楚了至于登录时提示的错误信息,跟TIMPPLATFORM.EXE没有任何关系,出错原因至今未明。
    但我调整了一下程序的顺序,问题就解决了
    调整前的顺序是:先运行多个QQ进程然后逐个登录
    调整后的顺序是:每运行一个QQ进程登录一次,等2秒左右再运行第二个进程再登录,如此类推