标题: 判断QQ是否登录 [打印本页]
作者: 92kp 时间: 2008-10-28 10:22 标题: 判断QQ是否登录
====================
第一个问题:
在同一台机器上1个QQ号码是不能同时登录两次的。QQ程序本来就有这个功能。
现在我想用BAT方法来判断某个QQ在本机上是否已经登录。
当然通过进程可以知道本机上是否有QQ运行,可是怎么判断这个进程是不是这个号码的进程了?
一句话,怎么判断QQ1017711800是否在本机上登录?如果没有登录,则登录;如果已经登录什么也不做。
========================
第二个问题:
在上QQ的时候,如果别人也登录你的号码,会弹出“您的号码在别处登录……”的对话框。请问用BAT或者VBS怎么抓捕这个事件,从而激发其他方法过程。
联系QQ773699 ,[email]773699@qq.com[/email]
作者: pusofalse 时间: 2008-10-28 12:51
判断QQ安装路径中有无1017711800文件夹,这是首先想到的方法,不过似乎行不通。。。
作者: 92kp 时间: 2008-10-28 13:07
这个当然不行。QQ进程上也不行,QQ进程只有QQ.exe可是没有对应具体的号码
作者: 92kp 时间: 2008-10-28 13:10
不知道当一个号码登录以后,会有什么特征产生
作者: jellyhk 时间: 2008-10-28 13:34 标题: 方法!!!!!!
会写入个qq号明名字的文件夹不过如果以前登陆过就不行了!
除非。。。
你用bat文件来登陆qq!登陆后删除相关文件以后的话就能搞定第一个问题了吧!
(关键是不能有文件!登陆后有了文件就知道是什么号登陆了!)
-----------------
第二个问题者就有点问题了!
貌似是不可能的!除了你是顶级hacker去追踪!
作者: everest79 时间: 2008-10-28 15:42
QQ窗口标题是包含了QQ号码的,tasklist中可以显示窗口标题
作者: 92kp 时间: 2008-10-28 17:34
请把代码和截图给我看一下好吗?tasklist 显示窗口标题
最好直接发进我的邮箱里面吧。773699@QQ.COM
作者: terse 时间: 2008-10-28 18:50
第一问题可以试下面的- @echo off
- wmic process get CommandLine>%temp%\qq_tem
- type "%temp%\qq_tem"|findstr /ic:"START QQUIN:1017711800 PWDHASH:">nul&&echo 已经登陆||echo 还没有登陆
- del "%temp%\qq_tem"
- pause
复制代码
作者: pusofalse 时间: 2008-10-28 18:56 标题: 回复 8楼 的帖子
terse前辈是否弄错了,QQGAME.EXE才可以用这种方法。
作者: terse 时间: 2008-10-28 19:55
原帖由 pusofalse 于 2008-10-28 18:56 发表
terse前辈是否弄错了,QQGAME.EXE才可以用这种方法。
获取到 启动QQ进程命令 我想是就可以分析到的啊
作者: Batcher 时间: 2008-10-28 21:36 标题: 回复 7楼 的帖子
发进你的邮箱?我看还是让6楼把完整代码打印好以后,用EMS快递到你家里吧?方便留个家庭住址不?
作者: 92kp 时间: 2008-10-28 22:41 标题: 谢谢terse
非常感谢,真的很棒。现在我需要解决第二个问题。
作者: Batcher 时间: 2008-10-28 22:45
来自: 92kp 标题: 吴
如果你愿意就发,我还能不敢要吗?说话真不客气!郁闷
你没有留下地址,我想发都发不了!郁闷
作者: more 时间: 2008-10-29 14:30
原帖由 terse 于 2008-10-28 19:55 发表
获取到 启动QQ进程命令 我想是就可以分析到的啊
在我这里的情况是:从命令行登陆QQ才可以获得QQ号码的信息.但是如果从windows登陆的话,无法获取.谁愿意再试试并告知结果吗?
作者: everest79 时间: 2008-10-29 17:27
研究下skip下的那个脚本文件,里边有获取号码的方法吧
作者: terse 时间: 2008-10-29 18:11
原帖由 more 于 2008-10-29 14:30 发表
在我这里的情况是:从命令行登陆QQ才可以获得QQ号码的信息.但是如果从windows登陆的话,无法获取.谁愿意再试试并告知结果吗?
确实是这样的 甚至QQGAME.EXE都不能获取 看来要另寻途径了
作者: pusofalse 时间: 2008-10-29 18:14
能否用rundll32.exe调用其中某个dll里的GetCurrentUin函数?
从昨天开始就一直测试,愣是没发现什么,仅是从GetCurrentUin的字面意思理解的。
作者: beck1321 时间: 2008-11-1 09:03
期望高手们继续解决~~~~飘过
作者: make 时间: 2008-11-2 13:35
原来批处理还有这个用处啊?我怎么不知道
作者: everest79 时间: 2008-11-15 05:09
QQ的运行状态与所有号码列表应有方法可以得到,应包含在腾讯没有公布的一些文件接口中,最有可能的就是Timwp.Dll;Timwp.exe
一些网页上有例如- Dim QQ
- Set QQ=CreateObject("TimwpDll.TimwpCheck")
- Msgbox QQ.GetLastQQVersion
- Msgbox QQ.CheckQQRunning
复制代码
这样的代码
作者: pusofalse 时间: 2008-11-15 22:38
汗。。终于找到方法了,但借助了第三方工具cmdow.exe
- @echo off
- for /f "tokens=13 delims=_ " %%a in ('cmdow /f /p ^|findstr "_SmallClient"') do set "uin=%%a"
- If defined uin echo 当前登录的QQ: %uin%
- pause>nul
复制代码
先到第三方版块搜索Cmdow.exe
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |