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); } }
/// <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); } }
/// <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(); } }