windows应用程序版的google搜索引擎源码

windows应用程序版的google搜索引擎源码


很多时候感觉用www.google.com搜索网站挺麻烦的,查阅MSDN的知识库后用C#写了这个windows应用程序版的google搜索引擎,主要调用了google开放出来的web service,不过搜索时速度还不是很快,但至少省去了右键[在新窗口中打开]的麻烦,以下是程序的源码,虽然挺长的,不过关键代码并不多,抛砖引玉吧。//Form1.csusing System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms;using System.Data;using System.Diagnostics;namespace WindowsApplication2{public class Form1 : System.Windows.Forms.Form{private System.Windows.Forms.TextBox textBox2;private System.Windows.Forms.Button button1;private System.Windows.Forms.Label label1;private System.Windows.Forms.Label label2;private System.Windows.Forms.ListBox listBox1;private String sKey;private System.ComponentModel.Container components = null;public Form1(){InitializeComponent();}protected override void Dispose( bool disposing ){if( disposing ){if (components != null) {components.Dispose();}}base.Dispose( disposing );}#region Windows Form Designer generated codeprivate void InitializeComponent(){this.textBox2 = new System.Windows.Forms.TextBox();this.button1 = new System.Windows.Forms.Button();this.label1 = new System.Windows.Forms.Label();this.label2 = new System.Windows.Forms.Label();this.listBox1 = new System.Windows.Forms.ListBox();this.SuspendLayout();// // textBox2// this.textBox2.Location = new System.Drawing.Point(8, 32);this.textBox2.Name = "textBox2";this.textBox2.Size = new System.Drawing.Size(240, 21);this.textBox2.TabIndex = 1;this.textBox2.Text = "ERP";// // button1// this.button1.Location = new System.Drawing.Point(264, 32);this.button1.Name = "button1";this.button1.TabIndex = 2;this.button1.Text = "搜索";this.button1.Click  = new System.EventHandler(this.button1_Click);// // label1// this.label1.BackColor = System.Drawing.SystemColors.Info;this.label1.Location = new System.Drawing.Point(136, 8);this.label1.Name = "label1";this.label1.Size = new System.Drawing.Size(104, 16);this.label1.TabIndex = 3;this.label1.Text = "单击此处获得帮助";this.label1.Click  = new System.EventHandler(this.label1_Click);// // label2// this.label2.Location = new System.Drawing.Point(8, 8);this.label2.Name = "label2";this.label2.TabIndex = 4;this.label2.Text = "请输入关键字: ";// // listBox1// this.listBox1.HorizontalScrollbar = true;this.listBox1.ItemHeight = 12;this.listBox1.Location = new System.Drawing.Point(8, 64);this.listBox1.Name = "listBox1";this.listBox1.Size = new System.Drawing.Size(360, 292);this.listBox1.TabIndex = 5;this.listBox1.DoubleClick  = new System.EventHandler(this.listBox1_DoubleClick);// // Form1// this.AcceptButton = this.button1;this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(376, 365);this.Controls.Add(this.listBox1);this.Controls.Add(this.label2);this.Controls.Add(this.label1);this.Controls.Add(this.button1);this.Controls.Add(this.textBox2);this.Name = "Form1";this.Text = "Google搜索引擎 V1.0 by yzwgh@sina.com";this.ResumeLayout(false);}#endregion[STAThread]static void Main() {Application.Run(new Form1());}private void button1_Click(object sender, System.EventArgs e){try{sKey="R1SnlcZQFHIBYlBCYdip3j1ERCvueU2Z";googleapi.GoogleSearchService s=new googleapi.GoogleSearchService();googleapi.GoogleSearchResult r=s.doGoogleSearch(sKey, textBox2.Text, 0, 10, false, "", false, "", "", "");googleapi.ResultElement[] re=r.resultElements;this.listBox1.Items.Clear();for (int i=0;i<re.Length;i  ){this.listBox1.Items.Add((object)(re.title));this.listBox1.Items.Add((object)(re.URL));}}catch(Exception eee){MessageBox.Show(eee.Message,this.Text );}}private void listBox1_DoubleClick(object sender, System.EventArgs e){try{String url;url=listBox1.Text;Process p = Process.Start(@url);}catch (Exception ee){MessageBox.Show(ee.Message);}}private void label1_Click(object sender, System.EventArgs e){String s;s=this.Text  "\n";s=s "作者:yzwgh\n";s=s "EMail:yzwgh@sina.com\n";s=s "双击下面的网址可打开相应的链接。";MessageBox.Show(s,this.Text );}}}  (2005-7-05:05:35)
 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 警告:持续变种木马正在发起农历新年攻势!
 您可能对 [C#] 的这些文章也感兴趣:
C# 3.0中的分部方法
.net程序员的盲点(一):参数修饰符ref,out ,params的区别
.net程序员的盲点(二):两个“属性”引起的歧异
使用VBA.NET压缩备份C#工程
C#处理数码相片之马赛克的实现
如何把图片插入Excel的一个单元格中
c#写的五子棋程序
如何杀死Word,Excel等进程?
HttpClient, 使用C#操作Web
C#精髓集合(1)
C#精髓集合(2)
C#精髓集合(3)