コード例 #1
0
        static void Main()
        {
            AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            RegisterFrm   registerFrm = null;
            SimpleLoading loadingfrm  = new SimpleLoading(registerFrm);
            //将Loaing窗口,注入到 SplashScreenManager 来管理
            SplashScreenManager loading = new SplashScreenManager(loadingfrm);

            //判断是否已经有实例在运行
            Process instance = RunningInstance();

            if (instance == null) //没有实例在运行
            {
                loading.ShowLoading();
                //try catch 包起来,防止出错
                try
                {
                    CheckoutModel checkoutModel = new CheckoutModel();
                    string        a = string.Empty, b = string.Empty;
                    checkoutModel.res = RegeditTime.InitRegedit(ref a, ref b, checkoutModel.path, checkoutModel.registerCodeName);

                    checkoutModel.sericalNumber = a;
                    checkoutModel.registerCode  = b;

                    LogHelper.WriteLine("程序主入口: 注册结果:" + checkoutModel.res + ",激活码:" + checkoutModel.sericalNumber + ",注册码:" +
                                        "" + checkoutModel.registerCode + "");

                    loading.CloseWaitForm();

                    registerFrm = new RegisterFrm(checkoutModel);
                    registerFrm.ShowDialog();//显示注册激活窗体

                    if (registerFrm.DialogResult == DialogResult.OK)
                    {
                        Application.Run(new HomeForm(checkoutModel, registerFrm.json));
                    }
                }
                catch (Exception e)
                {
                    loading.CloseWaitForm();
                    /*可选处理异常*/
                    LogHelper.WriteLine("程序主入口:" + e.Message.ToString());
                }
            }
            else //已经有一个实例在运行
            {
                //显示窗口
                ShowWindowAsync(instance.MainWindowHandle, 1);
                //窗口显示在最前端
                SetForegroundWindow(instance.MainWindowHandle);
            }
        }
コード例 #2
0
ファイル: LoginForm.cs プロジェクト: jianxg/IDCardClieck
        /// <summary>
        /// 获取注册码
        /// </summary>
        public void GetRegisterCode()
        {
            string path = "Software\\IDCardRegisterCode";
            int    res  = RegeditTime.InitRegedit(ref sericalNumber, ref cdKey, path, "registerCode");
            MyRefeshRegisterEventArgs myRefeshRegisterEventArgs = new MyRefeshRegisterEventArgs();

            myRefeshRegisterEventArgs.RegisterCode = sericalNumber;
            myRefeshRegisterEventArgs.Res          = res;
            MyRefreshOwnerRegisterEvent           += this.userLogin1.RefreshRegisterCode;
            //校验通过
            if (res == 0)
            {
                OnMyRefreshOwnerRegisterEvent(myRefeshRegisterEventArgs);
            }
            else if (res == 1)//软件尚未注册
            {
                RegisterFrm registerFrm = new RegisterFrm();
                registerFrm.Owner = this;
                registerFrm.ShowDialog();
            }
            else if (res == 2)//注册机器与本机不一致
            {
                OnMyRefreshOwnerRegisterEvent(myRefeshRegisterEventArgs);
            }
            else if (res == 3)//软件试用已到期
            {
                OnMyRefreshOwnerRegisterEvent(myRefeshRegisterEventArgs);
            }
            else if (res == 4)//激活码与注册码不匹配
            {
                OnMyRefreshOwnerRegisterEvent(myRefeshRegisterEventArgs);
            }
            else//软件运行已到期
            {
                OnMyRefreshOwnerRegisterEvent(myRefeshRegisterEventArgs);
            }
        }
コード例 #3
0
ファイル: RegisterFrm.cs プロジェクト: jianxg/IDCardClieck
        /// <summary>
        /// 获取注册码
        /// </summary>
        public void GetRegisterCode()
        {
            try
            {
                loadingfrm = new SimpleLoading(this);
                //将Loaing窗口,注入到 SplashScreenManager 来管理
                loading = new SplashScreenManager(loadingfrm);
                loading.ShowLoading();

                if (this.model.res == 0)
                {
                    try
                    {
                        string        url      = EnConfigHelper.GetConfigValue("request", "url");
                        string        apistr   = url + "/app/allInOneClient/getClientStatus";
                        StringBuilder postData = new StringBuilder();
                        postData.Append("{");
                        postData.Append("licence_code:\"" + this.model.sericalNumber + "\",");
                        postData.Append("mac_code:\"" + this.model.registerCode + "\"");
                        postData.Append("}");
                        //接口调用
                        string strJSON = HttpHelper.PostUrl(apistr, postData.ToString());
                        //返回结果
                        json = HttpHelper.Deserialize <ResultJSON>(strJSON);
                        if (json.result == "true")
                        {
                            loading.CloseWaitForm();
                            this.json.data.checkItemList.Insert(0, new CheckModel {
                                tempPropID = 0, propName = "全部"
                            });
                            this.DialogResult = DialogResult.OK;//关键:设置登陆成功状态
                            this.Close();
                        }
                        else
                        {
                            loading.CloseWaitForm();
                            MessageBox.Show("激活码已存在:" + json.message.ToString());
                            /*可选处理异常*/
                            LogHelper.WriteLine("RegisterFrm:" + json.message.ToString());
                            this.Close();
                            this.Dispose();
                        }
                    }
                    catch (Exception ex)
                    {
                        loading.CloseWaitForm();
                        MessageBox.Show("服务器出错:" + ex.Message.ToString());
                        /*可选处理异常*/
                        LogHelper.WriteLine("RegisterFrm:" + ex.Message.ToString());
                        this.Close();
                        this.Dispose();
                    }
                }
                else if (this.model.res == 1)//软件尚未注册
                {
                    try
                    {
                        if (this.txt_cdkey.Text.ToString().Trim().Length > 0)
                        {
                            this.model.sericalNumber = this.txt_cdkey.Text.ToString().Trim();
                            //date
                            string dateNow = RegeditTime.GetNowDate();
                            //生成序列号
                            this.model.registerCode = RegeditTime.CreatSerialNumber(this.model.sericalNumber, dateNow);

                            string url    = EnConfigHelper.GetConfigValue("request", "url");
                            string apistr = url + "/app/allInOneClient/startRegister";
                            //向java端进行注册请求

                            StringBuilder postData = new StringBuilder();
                            postData.Append("{");
                            postData.Append("licence_code:\"" + this.model.sericalNumber + "\",");
                            postData.Append("mac_code:\"" + this.model.registerCode + "\"");
                            postData.Append("}");
                            //接口调用

                            string strJSON = HttpHelper.PostUrl(apistr, postData.ToString());
                            //返回结果
                            json = HttpHelper.Deserialize <ResultJSON>(strJSON);
                            if (json.result == "true")
                            {
                                string        url1      = EnConfigHelper.GetConfigValue("request", "url");
                                string        apistr1   = url1 + "/app/allInOneClient/getClientStatus";
                                StringBuilder postData1 = new StringBuilder();
                                postData1.Append("{");
                                postData1.Append("licence_code:\"" + this.model.sericalNumber + "\",");
                                postData1.Append("mac_code:\"" + this.model.registerCode + "\"");
                                postData1.Append("}");
                                //接口调用
                                string strJSON1 = HttpHelper.PostUrl(apistr1, postData1.ToString());
                                //返回结果
                                json = HttpHelper.Deserialize <ResultJSON>(strJSON1);
                                if (json.result == "true")
                                {
                                    //写入到注册表
                                    RegeditTime.WriteSetting(this.model.path, this.model.registerCodeName, this.model.registerCode);

                                    this.model.res = 0;
                                    loading.CloseWaitForm();

                                    this.json.data.checkItemList.Insert(0, new CheckModel {
                                        tempPropID = 0, propName = "全部"
                                    });

                                    DialogResult dr = MessageBox.Show("注册成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                                    if (dr == DialogResult.OK)
                                    {
                                        loading.CloseWaitForm();
                                        this.DialogResult = DialogResult.OK;//关键:设置登陆成功状态
                                        this.Close();
                                    }
                                }
                                else
                                {
                                    loading.CloseWaitForm();
                                    lbl_note.Text = "错误:" + json.message.ToString() + "";
                                }
                            }
                            else
                            {
                                loading.CloseWaitForm();
                                lbl_note.Text = "注册失败:" + json.message.ToString() + "";
                            }
                        }
                        else
                        {
                            loading.CloseWaitForm();
                            lbl_note.Text = "请输入激活码";
                        }
                    }
                    catch (Exception ex)
                    {
                        loading.CloseWaitForm();
                        MessageBox.Show("服务器出错:" + ex.Message.ToString());
                        /*可选处理异常*/
                        LogHelper.WriteLine("RegisterFrm:" + ex.Message.ToString());
                        this.Close();
                        this.Dispose();
                    }
                }
                else if (this.model.res == 2)//注册机器与本机不一致
                {
                    loading.CloseWaitForm();
                    MessageBox.Show("注册机器与本机不一致!");
                    this.Close();
                    this.Dispose();
                }
                else if (this.model.res == 3)//软件试用已到期
                {
                    loading.CloseWaitForm();
                    MessageBox.Show("软件试用已到期!");
                    this.Close();
                    this.Dispose();
                }
                else if (this.model.res == 4)//激活码与注册码不匹配
                {
                    loading.CloseWaitForm();
                    MessageBox.Show("激活码与注册码不匹配!");
                    this.Close();
                    this.Dispose();
                }
                else//软件运行已到期
                {
                    loading.CloseWaitForm();
                    MessageBox.Show("软件运行已到期!");
                    this.Close();
                    this.Dispose();
                }
            }
            catch (Exception e)
            {
                loading.CloseWaitForm();
                MessageBox.Show("服务器出错:" + e.Message.ToString());
                this.Close();
                this.Dispose();
            }
        }