-
自动登录qq空间,获取最近访客列表.
自动登录qq空间,获取最近访客列表.using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication1{ public partial class Form1 : Form { Timer terAutologin = new Timer(); public Form1() { InitializeComponent(); terAutologin.Enabled = true; terAutologin.Interval = 3 * 1000; terAutologin.Tick = ter_Tick; } void ter_Tick(object sender, EventArgs e) { if(wb1.Document==null) { return; } HtmlElement dialog_content_1 = wb1.Document.GetElementById("dialog_content_1"); if (dialog_content_1 == null) { return; } var frame = wb1.Document.Window.Frames[0]; if (frame==null) { return; } if (frame.Document==null) { return; } // iframe HtmlElement u = frame.Document.GetElementById("u"); u.InnerText = "171586098"; HtmlElement p = frame.Document.GetElementById("p"); p.InnerText = "*************"; p.SetAttribute("value", "********"); HtmlElement login_button = frame.Document.GetElementById("login_button"); login_button.InvokeMember("click"); terAutologin.Stop(); } private void Form1_Load(object sender, EventArgs e) { ssl1.Text = string.Empty; txtUrl.Text = "http://user.qzone.qq.com/14371939"; wb1.ScriptErrorsSuppressed = true; wb1.Navigate("http://user.qzone.qq.com/14371939/main"); } private void btnGO_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtUrl.Text)) { wb1.Navigate(txtUrl.Text); ssl1.Text = txtUrl.Text " Navigated"; } } private void wb1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { System.Diagnostics.Trace.WriteLine(e.Url.ToString()); // http://g.cnc.qzone.qq.com/cgi-bin/friendshow/cgi_get_visitor_simple?uin=4371939&type=1&mask=3&rd=0.7801240284461528&_=1397644130601&g_tk=9281770 ssl1.Text = e.Url.ToString() " Completed"; tryRead(); } private void btnTest_Click(object sender, EventArgs e) { tryRead(); } private void tryRead() { if (wb1.Document == null) { return; } HtmlElement pagediv = wb1.Document.GetElementById("visitor_list_page_con"); if (pagediv==null) { return; } //若分页内容存在,则表示已经加载过了. if(pagediv.Children.Count>0) { handlerAbc(null,null); return; } //模拟点击 "最近访客" var aa = pagediv.Parent.Parent.FirstChild.Children[2]; aa.InvokeMember("click"); //给访问列表的容器绑定一个事件...回调时就能获取到. HtmlElement guestlist = pagediv.Parent.FirstChild; //ul.RaiseEvent guestlist.AttachEventHandler("onpropertychange", new EventHandler(handlerAbc)); } private void handlerAbc(Object sender, EventArgs e) { HtmlElement div = wb1.Document.GetElementById("visitor_list_page_con"); HtmlElement guestlist = div.Parent.FirstChild; if (guestlist.InnerHtml.IndexOf("QZONE.FrontPage.showLoginBox") > -1) { HtmlElement alogin = guestlist.GetElementsByTagName("a")[0]; alogin.InvokeMember("click"); // 使用定时器.检测登录窗口的出现.. terAutologin.Start(); return; } else { System.Text.StringBuilder sb = new StringBuilder(); // 取回里面的内容? foreach (HtmlElement li in guestlist.Children) { string qq = li.GetAttribute("uin"); string visitname = li.Children[1].FirstChild.InnerText; string visittime = li.Children[1].Children[1].InnerText; sb.AppendLine(qq visitname visittime); } MessageBox.Show(sb.ToString()); } } }}
- 2014-04-18下载
- 积分:1
-
运动控制六轴运动
运动控制六轴运动
- 2019-05-16下载
- 积分:1
-
hex转bin的程序
hex转bin的程序, 支持大于64K的hex, 网上下载的Hex2Bin不支持64k. 包含工程文件, 简单包装即可生成一个Hex2Bin的小程序【核心代码】 String szLine = ""; String szHex = ""; if (szHexPath == "") { MessageBox.Show("请选择需要转换的目标文件! ", "错误"); return; } StreamReader HexReader = new StreamReader(szHexPath); while (true) { szLine = HexReader.ReadLine(); //读取一行数据 if (szLine == null) //读完所有行 { break; } if (szLine.Substring(0, 1) == ":") //判断第1字符是否是: { if (szLine.Substring(1, 8) == "00000001")//数据结束 { break; } szHex = szLine.Substring(9, szLine.Length - 11); //读取有效字符 } } HexReader.Close(); //关闭目标文件 Int32 i; Int32 j = 0; Int32 Length = szHex.Length; byte[] szBin = new byte[Length]; pbConvert.Maximum = Length / 2; for (i = 0; i < Length; i = 2) //两字符合并成一个16进制字节 { szBin[j] = (byte)Int16.Parse(szHex.Substring(i, 2), NumberStyles.HexNumber); j ; pbConvert.Increment(i); } if (szBinPath == "") { szBinPath = Path.ChangeExtension(szHexPath, "bin"); tbBinPath.Text = szBinPath; } FileStream fBin = new FileStream(szBinPath, FileMode.Create); //创建文件BIN文件 BinaryWriter BinWrite = new BinaryWriter(fBin); //二进制方式打开文件 BinWrite.Write(szBin, 0, Length); //写入数据 BinWrite.Flush();//释放缓存 BinWrite.Close();//关闭文件 MessageBox.Show("文件转换完成! ", "提示"); } catch (Exception ex) { MessageBox.Show(ex.ToString()); }
- 2020-12-05下载
- 积分:1
-
asp.net 微信支付服务器端代码(完整示例源码下载)
如果用的是mvc 则将 notify.cs中的 public Page page {get;set;} public Notify(Page page) { this.page = page; } 把Page 改成 HttpContextBase即可
- 2015-05-07下载
- 积分:1
-
七层架构,带SQL数据库
七层架构,带SQL数据库
- 2015-01-26下载
- 积分:1
-
PHONE 手机端 蛋糕房系统源码下载
API
- 2014-07-25下载
- 积分:1
-
C#实现环形缓冲区实例
因个人需求,需要测试串口数据,直接拿去应用就可以了,经历半个月的压力测试,都没问题, *组件功能:利用环形缓冲区的特点实现对接收到的数据环形缓冲进行缓冲, *进而减少应用程序对数据解析的压力,同时通过组件里面封装的读取缓冲 *区的数据的函数,来读取缓冲区完整的一帧数据,从而减少或是避免数据 *包的丢失的情况的发生,同时也减少了工程师重复编写数据解析方法的重,
- 2019-10-24下载
- 积分:1
-
C primer Plus 练习答案.pdf
【实例简介】C Primer Plus第6版编程练习答案.rar
- 2021-06-02 00:31:08下载
- 积分:1
-
C++实战源码-成组浏览图片(入门级实例522).zip
C++实战源码-成组浏览图片(入门级实例522).zip
- 2019-10-01下载
- 积分:1
-
C#扫代理IP
C#扫描代理IP
- 2015-01-06下载
- 积分:1