小软件获取QQ好友是否"隐身对你可见"
下午写了一个小软件, 给大家分享分享. 软件的功能是, 知道某QQ好友是不是"隐身对你可见"或者"在线对你隐身". 不过很多人不用QQ的, 我写这个也是是玩玩, 大牛们可以飘走了~~~~小软件界面:

原理比较简单, http://wpa.qq.com/pa?p=1:?????????:5, 只要把?????????换成你想查询的QQ号即可. 如果这位QQ好友在线的话, 网页将会返回一个图片, 图片地址是: http://wpslogo.qq.com/5_online.gif, 如果这位QQ好友不在线或隐身的话, 网页将会返回一个图片, 图片地址是: http://wpslogo.qq.com/5_offline.gif
有了这个, 写起来就比较容易了, 只要在TextBox中输入一个QQ号, 点击按钮就可以通过一个Visible为false的WebBrowser来Navigate这个Url.
1 2 3 4 5 6 7 8 9 10 11 | Private Sub Button1_Click( ByVal sender As System. Object , ByVal e As System.EventArgs) Handles Button1.Click Dim r As Regex r = New Regex( "[1-9][0-9]{4,}" ) '正则表达式:检测输入的是否是一个合法QQ号 Dim m As Match m = r.Match(TextBox1.Text) If m.Success Then '是合法QQ号的话就让WebBrowser导航到那个Url WebBrowser1.Navigate(Str) Else Label2.Text = "请您输入一个格式正确的QQ号" End If End Sub |
另外还要写一个WebBrowser的DocumentCompleted事件, 因为上一步的WebBrowser1.Nabigate(Str)之后, WebBrowser的Url会跳转到http://wpslogo.qq.com/5_online.gif 或者 http://wpslogo.qq.com/5_offline.gif .通过提取出这个Url, 看这个返回的图片最后是5_online.gif还是5_offline.gif 即可.
1 2 3 4 5 6 7 8 9 10 | Private Sub WebBrowser1_DocumentCompleted( ByVal sender As Object , ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim str As String str = WebBrowser1.Url.ToString If str.Contains( "5_online.gif" ) Then Label2.Text = "QQ号为" & TextBox1.Text & "好友的真实情况是在线, 如果你的QQ上显示这位好友不在线, 那么这位好友可能'在线对你隐身'了..." ElseIf str.Contains( "5_offline.gif" ) Then Label2.Text = "QQ号为" & TextBox1.Text & "朋友的真实情况是离线或隐身, 如果你能看到这位好友在线, 那么这位好友可能'隐身对你可见'了..." Else Label2.Text = "对不起, 没有发现QQ号为" & TextBox1.Text & "好友的在线情况" End If End Sub |
小软件下载:/Files/technology/QQ-Online.zip (.NET Framework4.0版本的, 可以使用)
/Files/technology/QQ-Online3.zip (.NET Framework3.0版本的, 还没测试在其它机器能否正常运行)
作者:Create Chen
出处:http://technology.cnblogs.com
说明:文章为作者平时里的思考和练习,可能有不当之处,请博客园的园友们多提宝贵意见。
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库