zoukankan      html  css  js  c++  java
  • windows应用程序版的google搜索引擎源码 (转)

    很多时候感觉用www.google.com搜索网站挺麻烦的,查阅MSDN的知识库后用C#写了这个windows应用程序版的google搜索引擎,主要调用了google开放出来的web service,不过搜索时速度还不是很快,但至少省去了右键[在新窗口中打开]的麻烦,以下是程序的源码,虽然挺长的,不过关键代码并不多,抛砖引玉吧。

    //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 = "请输入关键字: ";
       //
       // 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+"双击下面的网址可打开相应的链接。";
       MessageBox.Show(s,this.Text );
      }
     }
    }

  • 相关阅读:
    数据库: Android使用JDBC连接数据库实现增 删 该 查 操作(8.0版本)
    SWA2G422&485JK2G基础篇: 手机APP通过APMACBind方式绑定W5500(以太网)设备,实现MQTT远程通信控制
    ESA2GJK1DH1K微信小程序篇: 微信小程序MQTT连接阿里云物联网平台
    ESA2GJK1DH1K基础篇: 阿里云物联网平台: 测试MQTT连接阿里云物联网平台
    ESA2GJK1DH1K微信小程序篇: 小程序MQTT底层优化
    ESP8266 SDK开发: 准备工作-硬件说明
    ESA2GJK1DH1K数据篇: 数据篇准备工作
    ESA2GJK1DH1K升级篇: 网页实现MQTT控制- 网页版MQTT通信控制ESP8266设备,网页版MQTT连接阿里云通信
    ESA2GJK1DH1K升级篇: 网页实现MQTT控制- 网页版MQTT调试助手
    单片机模块化程序: CRC校验
  • 原文地址:https://www.cnblogs.com/levin/p/585160.html
Copyright © 2011-2022 走看看