C#实现通过URL触发自己的程序

实现原理:http://hi.baidu.com/wu1987116/blog/item/8352896056ea254deaf8f83e.html

本例功能:在IE访问baidu:内容时,将baidu:内容做为启动参数,执行ceshi.exe程序,在程序中将内容作为搜索

                内容,执行百度搜索

实现步骤:

在VS2005中新建Windows应用程序

在Program.cs文件的中的static void Main()

方法中加入代码:

static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            if (System.Environment.GetCommandLineArgs().Length > 1)             //如果有启动参数
            {
                string strCmd = System.Environment.GetCommandLineArgs()[1].ToLower();
                string startCmd = "http://www.baidu.com/s?wd=" + strCmd.Replace("baidu:", "");
                System.Diagnostics.Process.Start(startCmd);
            }
            else
            {
                MessageBox.Show("参数错误!", "提示");
            }
        }

生成exe文件

导入如下注册表信息:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\baidu]
@=""
"URL Protocol"=""

[HKEY_CLASSES_ROOT\baidu\Shell]

[HKEY_CLASSES_ROOT\baidu\Shell\Open]

[HKEY_CLASSES_ROOT\baidu\Shell\Open\Command]
@="D:\\ceshi.exe %1"

"D:\\ceshi.exe %1"    为生成的程序路径,

此注册表所实现的就是当浏览器(或其它)碰到 baidu:… 时,自动调用 ceshi.exe,并把 baidu:… 地址作为参数传递给 ceshi.exe,并通过ceshi.exe判断传入的参数格式,执行操作

posted @ 2010-07-15 23:42    阅读(454)  评论(0编辑  收藏  举报