明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

windows應用程序版的google搜索引擎源碼

[摘要]很多時候感覺用www.google.com搜索網(wǎng)站挺麻煩的,查閱MSDN的知識庫后用C#寫了這個windows應用程序版的google搜索引擎,主要調(diào)用了google開放出來的web service...
很多時候感覺用www.google.com搜索網(wǎng)站挺麻煩的,查閱MSDN的知識庫后用C#寫了這個windows應用程序版的google搜索引擎,主要調(diào)用了google開放出來的web service,不過搜索時速度還不是很快,但至少省去了右鍵[在新窗口中打開]的麻煩,以下是程序的源碼,雖然挺長的,不過關(guān)鍵代碼并不多,拋磚引玉吧。

//Form1.cs

using 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 code

private 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 = "請輸入關(guān)鍵字: ";
//
// 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[i].title));
this.listBox1.Items.Add((object)(re[i].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+"雙擊下面的網(wǎng)址可打開相應的鏈接。";
MessageBox.Show(s,this.Text );
}
}
}