小软件获取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版本的, 还没测试在其它机器能否正常运行)

posted @ 2010-06-22 19:38  Create Chen  阅读(...)  评论(...编辑  收藏