Beispiel #1
0
        // 支付结果处理逻辑
        private void PayResult(string param)
        {
            string isSuccess = WebTool.getNodeData(param, "isSuccess", false).ToLower();

            if (isSuccess.Equals("true"))
            {
                string serial = MachineInfo_Serial.RegSerial(SoftName);
                RegistryTool.RegistrySave(AuthorName + @"\" + SoftName + @"\Set", "Serial", serial);
                MessageBox.Show("恭喜,您已成功注册!(即时注册)");
            }
        }
Beispiel #2
0
        /// <summary>
        ///  从注册表载入信息,判断用户是否已经注册
        /// </summary>
        /// <returns></returns>
        public bool IsRegUser()
        {
            // 检测本地注册信息,
            // 若已经注册成功
            bool containsSerial = RegistryTool.RegistryCotains(AuthorName + @"\" + SoftName + @"\Set", "Serial");

            //mainForm.F.RegistryRemove(AuthorName + @"\easyIcon\Set", "Serial");
            if (containsSerial)
            {
                // 优先判断本地注册表数据
                string serial = RegistryTool.RegistryStrValue(AuthorName + @"\" + SoftName + @"\Set", "Serial");
                if (!serial.Equals("") && serial.Equals(MachineInfo_Serial.RegSerial(SoftName)))
                {
                    if (Timer_CheckOnlineRegister.Enabled)
                    {
                        Timer_CheckOnlineRegister.Enabled = false;                                      // 停止计时查询逻辑
                    }
                    if (this.needRegCallBack != null)
                    {
                        this.needRegCallBack("end");                               //4、若已注册,则执行结束逻辑
                    }
                    return(true);
                }
            }

            // 若未注册,则弹出网络提示
            bool available = System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable();

            if (!available)
            {
                MessageBox.Show("网络不可用,无法获取软件状态信息\r\n请先连接网络后,再使用此工具");
                Application.Exit(); // 自动退出应用
                return(false);      // 网络未连接视作未注册用户
            }

            // 若未注册成功,在线检测是否需要注册
            bool isNeed = needRegister();

            if (this.needRegCallBack != null)   // 2、先检测是否需要注册
            {
                if (isNeed)
                {
                    this.needRegCallBack("yes");
                }
                else
                {
                    this.needRegCallBack("no");
                }
            }

            return(!isNeed); // 若不需要注册,则视作已注册用户
        }
Beispiel #3
0
        /// <summary>
        /// 在线注册逻辑,自动检测是否已在线注册,若已经注册,则完成本地注册逻辑。
        /// 启动后首次,通过接口发送软件启动信息至服务器;
        /// 再次检测时,在查询本地注册信息之后,若未注册则在线查询。
        /// 通过needRegCallBack执行回调处理逻辑
        /// </summary>
        public void RegLogic_Online(NeedRegisterCallBack needRegCallBack = null)
        {
            if (needRegCallBack != null)
            {
                this.needRegCallBack = needRegCallBack;                             // 记录回调处理逻辑
            }
            string onlineSerial = "";

            // 0、发送软件启动信息至服务器
            bool isFirst = isFirstGetOnlineSerial;

            if (isFirst)
            {
                // 获取序列号信息
                onlineSerial = GetOnlineSerial(MachineInfo_Serial.MachineSerial(), SoftName, MachineInfo_Serial.ComputerName(), MachineInfo_Serial.UserName(), "");

                // 显示软件msg信息
                string SoftExt = ExtInfo("msg");
                showExtMessage("SoftExt", SoftExt);

                // 显示机器软件对应的msg信息
                string MachineSoftMsg = GetValue("msg", MachineInfo_Serial.MachineSerial(), SoftName);
                showExtMessage("MachineSoftMsg", MachineSoftMsg);
            }

            if (!this.IsRegUser())      // 1、若本地未注册
            {
                if (!isFirst)
                {
                    onlineSerial = GetOnlineSerial(MachineInfo_Serial.MachineSerial(), SoftName, MachineInfo_Serial.ComputerName(), MachineInfo_Serial.UserName(), "");
                }

                // 2、则查询是否已在线注册
                if (!onlineSerial.Equals("") && onlineSerial.Equals(MachineInfo_Serial.RegSerial(SoftName)))
                {
                    RegistryTool.RegistrySave(AuthorName + @"\" + SoftName + @"\Set", "Serial", onlineSerial);
                    MessageBox.Show("恭喜,您已成功注册!(异步注册)\r\n\r\n即便重装系统,也无需再次注册.\r\nCopyright ©  2018 Scimence");
                }
            }
        }