小软件获取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.
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 Dim Str As String = "http://wpa.qq.com/pa?p=1:" & TextBox1.Text & ":5" 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 即可.
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 中国大陆许可协议进行许可。