首页 > 代码库 > 从web启动winform程序

从web启动winform程序

最近有个客户提出想从网站上启动一个客户端的程序,研究了下,实现方法如下:

1. 注入注册表

try
{
    string appPath = "\"" + Application.ExecutablePath + "\" \"%1\"";
    string strKey = Application.ProductName;
    string strKey_shell_open_cmd = strKey + @"\shell\open\command";
    var subKey = Registry.ClassesRoot.CreateSubKey(strKey);
    subKey.SetValue("URL Protocol", "1");
    var subKey_shell_open_cmd = Registry.ClassesRoot.CreateSubKey(strKey_shell_open_cmd);
    subKey_shell_open_cmd.SetValue(null, appPath);
}
catch (Exception ex)
{
    MessageBox.Show(string.Format("Web启动参数设置失败, 原因: {0}", ex.Message));
}

注入后效果如下图:

技术分享

%1是传入的参数

2. 网站上加一个link

<a href=http://www.mamicode.com/"HelloWorld://123">Hello World

这里123是传入的参数

技术分享

当我们点击这个link时,就会自动打开这个客户端软件。

从web启动winform程序