下午写了一个小软件, 给大家分享分享. 软件的功能是, 知道某QQ好友是不是"隐身对你可见"或者"在线对你隐身". 不过很多人不用QQ的, 我写这个也是是玩玩, 大牛们可以飘走了~~~~小软件界面:
原理比较简单, , 只要把?????????换成你想查询的QQ号即可. 如果这位QQ好友在线的话, 网页将会返回一个图片, 图片地址是: , 如果这位QQ好友不在线或隐身的话, 网页将会返回一个图片, 图片地址是:
有了这个, 写起来就比较容易了, 只要在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 IfEnd Sub
另外还要写一个WebBrowser的DocumentCompleted事件, 因为上一步的WebBrowser1.Nabigate(Str)之后, WebBrowser的Url会跳转到 或者 .通过提取出这个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 IfEnd Sub
小软件下载: (.NET Framework4.0版本的, 可以使用)
(.NET Framework3.0版本的, 还没测试在其它机器能否正常运行)