通过网络验证程序能否运行

@zgcwkj  2018年06月09日

分类:

代码 其它 

引用文章:HttpHelp网络请求帮助类说明

修改项目的启动文件:Program.cs

增加个方法:

/// <summary>
/// 程序服务验证
/// </summary>
/// <returns></returns>
private static bool ServiceVerificat()
{
    //返回的状态
    bool status = false;

    try
    {
        new ProxyClass().SwitchOff();
        // HttpGet请求到一个网络地址,获取到文本那么你应该懂了接下来
        string Serve = HttpHelp.HttpGet("网络地址");
        string[] Serves = Serve.Replace("\r", "").Split('\n');

        #region 更新模块

        if (Serves.Length >= 1)
        {
            if (Serves[0] != "")
            {
                string[] Update = Serves[0].Split('|');
                //是否强制更新
                if (Convert.ToBoolean(Update[0]))
                {
                    //匹配版本号进行判断
                    int versions = Convert.ToInt32(Application.ProductVersion.Replace(".", ""));
                    if (versions < Convert.ToInt32(Update[1]))
                    {
                        //提示更新内容
                        MessageBox.Show(Update[2]);
                        //通过浏览器跳转
                        try { System.Diagnostics.Process.Start(Update[3]); } catch { }
                        //直接终止程序运行
                        return false;
                    }
                }
            }
        }

        #endregion 更新模块

        #region 程序状态

        if (Serves.Length >= 2)
        {
            if (Serves[1] != "")
            {
                //程序状态
                if (Convert.ToBoolean(Serves[1])) { status = true; }
            }
        }

        #endregion 程序状态

        #region 提示内容

        if (Serves.Length >= 3)
        {
            if (Serves[2] != "")
            {
                //提示消息内容
                MessageBox.Show(Serves[2]);
            }
        }

        #endregion 提示内容

        #region 浏览器跳转

        if (Serves.Length >= 4)
        {
            if (Serves[3] != "")
            {
                //通过浏览器跳转
                try { System.Diagnostics.Process.Start(Serves[3]); } catch { }
            }
        }

        #endregion 浏览器跳转
    }
    catch (Exception e)
    {
        string str = e.Message;
        MessageBox.Show("请检查网络状态");
        status = false;
    }
    return status;
}

然后从 程序主入口(Main)中修改为:

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
if (ServiceVerificat())
{
    Application.Run(new 窗口());
}

文章总结:

拦截程序启动(如果需要每个方法都验证拦截可以自己想一想如何改)
通过 网络获取文本 ,然后通过 文本关键字 进行 指定的操作



评论已关闭

Top