Browse Source

CDKEY提示修改

master
忱 沈 2 years ago
committed by sc
parent
commit
59ba780070
  1. 5
      MainWindow.xaml
  2. 62
      ViewModel/MainWindowViewModel.cs
  3. 32
      Windows/CDKEY.xaml.cs

5
MainWindow.xaml

@ -215,5 +215,10 @@
<ContentControl x:Name="Deputy"/> <ContentControl x:Name="Deputy"/>
</Grid> </Grid>
<Viewbox x:Name="cdk_box" Margin="0,0,0,0" Opacity="0.8" Visibility="Hidden">
<Grid Background="#FFA4A4A4" >
<TextBlock Height="40" Margin="0,0,0,0" TextWrapping="Wrap" Text="ReRegistration" Width="180" FontSize="28" HorizontalAlignment="Center" Foreground="Black" VerticalAlignment="Center"/>
</Grid>
</Viewbox>
</Grid> </Grid>
</Window> </Window>

62
ViewModel/MainWindowViewModel.cs

@ -1,4 +1,5 @@
using formula_manage.SQLModels; using formula_manage.SQLModels;
using formula_manage.UserClass;
using formula_manage.ViewModel; using formula_manage.ViewModel;
using formula_manage.Windows; using formula_manage.Windows;
using GalaSoft.MvvmLight; using GalaSoft.MvvmLight;
@ -14,6 +15,7 @@ using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows;
using System.Windows.Forms; using System.Windows.Forms;
using System.Windows.Threading; using System.Windows.Threading;
using System.Xml.Linq; using System.Xml.Linq;
@ -61,6 +63,42 @@ namespace formula_manage.ViewModel
string TEXT_SQLUSER; string TEXT_SQLUSER;
string TEXT_SQLPASWOR; string TEXT_SQLPASWOR;
string Connstr_SC; string Connstr_SC;
string SN_ID;
string SN_KEY;
private void CDkey_()
{
string id_1 = SN_ID.Substring(5, 1) + SN_ID.Substring(0, 1) + SN_ID.Substring(4, 1) + SN_ID.Substring(1, 1) + SN_ID.Substring(3, 1) + SN_ID.Substring(2, 1);
if ((id_1 == SN_KEY.Substring(0, 6)) && (SN_KEY.Length == 16))
{
if (CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(SN_KEY.Substring(0, 12)), true) == SN_KEY.Substring(12, 4)) //校验key的crc校验值
{
string Y = (2255 - StrToInt.To16Convert10(SN_KEY.Substring(6, 2))).ToString();
string M = (255 - StrToInt.To16Convert10(SN_KEY.Substring(8, 2))).ToString();
string D = (255 - StrToInt.To16Convert10(SN_KEY.Substring(10, 2))).ToString();
string YY = DateTime.Now.ToString("yyyy");
string MM = DateTime.Now.ToString("MM");
string DD = DateTime.Now.ToString("dd");
if (string.Compare(Y, YY) < 0)
{
CDKEY cDKEY = new CDKEY();
cDKEY.ShowDialog();//实例化并置顶打开窗口
}
else if (string.Compare(M, MM) < 0)
{
CDKEY cDKEY = new CDKEY();
cDKEY.ShowDialog();//实例化并置顶打开窗口
}
else if (string.Compare(D, DD) < 0)
{
CDKEY cDKEY = new CDKEY();
cDKEY.ShowDialog();//实例化并置顶打开窗口
}
}
}
}
private async void Sql_() private async void Sql_()
{ {
@ -70,6 +108,9 @@ namespace formula_manage.ViewModel
TEXT_SQMOD = Configini.IniReadvalue("SQL_SERVER", "SQL3"); TEXT_SQMOD = Configini.IniReadvalue("SQL_SERVER", "SQL3");
TEXT_SQLUSER = Configini.IniReadvalue("SQL_SERVER", "SQL4"); TEXT_SQLUSER = Configini.IniReadvalue("SQL_SERVER", "SQL4");
TEXT_SQLPASWOR = Configini.IniReadvalue("SQL_SERVER", "SQL5"); TEXT_SQLPASWOR = Configini.IniReadvalue("SQL_SERVER", "SQL5");
SN_ID = Configini.IniReadvalue("SN", "SN2");
SN_KEY = Configini.IniReadvalue("SN", "SN1");
if (TEXT_SQMOD == "0") //判断连接方式 if (TEXT_SQMOD == "0") //判断连接方式
{ {
Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";Trusted_Connection=SSPI"; Connstr_SC = "server=" + TEXT_SQLIP + ";database=" + TEXT_SQLNAME + ";Trusted_Connection=SSPI";
@ -173,22 +214,33 @@ namespace formula_manage.ViewModel
/// </summary> /// </summary>
public void CountDown() public void CountDown()
{ {
DispatcherTimer timer = new DispatcherTimer//初始化循环,每0.5秒调用一次Tick_Event DispatcherTimer timer1s = new DispatcherTimer//初始化循环,每0.5秒调用一次Tick
{ {
Interval = TimeSpan.FromSeconds(0.5) Interval = TimeSpan.FromSeconds(1)
}; };
timer.Tick += Tick_Event; timer1s.Tick += Tick_Event_1S;
timer.Start(); timer1s.Start();
DispatcherTimer timer1h = new DispatcherTimer//初始化循环,每1h调用一次Tick
{
Interval = TimeSpan.FromSeconds(3600)
};
timer1h.Tick += Tick_Event_1h;
timer1h.Start();
//设置定时器 //设置定时器
// disTimer.Tick += new EventHandler(DisTimer_Tick);//每一秒执行的方法 // disTimer.Tick += new EventHandler(DisTimer_Tick);//每一秒执行的方法
// disTimer.Interval = new TimeSpan(10000000); //时间间隔为一秒。 // disTimer.Interval = new TimeSpan(10000000); //时间间隔为一秒。
// disTimer.Start();//计时开始 // disTimer.Start();//计时开始
} }
void Tick_Event(object sender, EventArgs e)//Tick_Event周期执行事件 void Tick_Event_1S(object sender, EventArgs e)//Tick_Event周期执行事件
{ {
Sys_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); Sys_Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
} }
void Tick_Event_1h(object sender, EventArgs e)//Tick_Event周期执行事件
{
CDkey_();
}
} }
public class Product //stuff_Product public class Product //stuff_Product

32
Windows/CDKEY.xaml.cs

@ -40,6 +40,14 @@ namespace formula_manage.Windows
private void Window_CDKEY(object sender, RoutedEventArgs e) //打开页面 private void Window_CDKEY(object sender, RoutedEventArgs e) //打开页面
{ {
UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);//生效配置读取
cdk.Text = Configini.IniReadvalue("SN", "SN1"); //读配置文件
string Y = (2255 - StrToInt.To16Convert10(cdk.Text.Substring(6, 2))).ToString();
string M = (255 - StrToInt.To16Convert10(cdk.Text.Substring(8, 2))).ToString();
string D = (255 - StrToInt.To16Convert10(cdk.Text.Substring(10, 2))).ToString();
sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D;
// 获取CPU序列号 // 获取CPU序列号
cpuSerialNumber = HardwareSN.GetCPUSerialNumber(); cpuSerialNumber = HardwareSN.GetCPUSerialNumber();
// 获取主板序列号 // 获取主板序列号
@ -57,7 +65,7 @@ namespace formula_manage.Windows
string id_1; string id_1;
id_1 = sn_id.Text.Substring(5, 1) + sn_id.Text.Substring(0, 1) + sn_id.Text.Substring(4, 1) + sn_id.Text.Substring(1, 1) + sn_id.Text.Substring(3, 1) + sn_id.Text.Substring(2, 1); id_1 = sn_id.Text.Substring(5, 1) + sn_id.Text.Substring(0, 1) + sn_id.Text.Substring(4, 1) + sn_id.Text.Substring(1, 1) + sn_id.Text.Substring(3, 1) + sn_id.Text.Substring(2, 1);
if (id_1 == cdk.Text.Substring(0, 6)) if ((id_1 == cdk.Text.Substring(0, 6)) && (cdk.Text.Length == 16))
{ {
if (CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(cdk.Text.Substring(0, 12)), true) == cdk.Text.Substring(12, 4)) //校验key的crc校验值 if (CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(cdk.Text.Substring(0, 12)), true) == cdk.Text.Substring(12, 4)) //校验key的crc校验值
{ {
@ -75,16 +83,16 @@ namespace formula_manage.Windows
{ {
if (string.Compare(D, DD) >= 0) if (string.Compare(D, DD) >= 0)
{ {
System.Windows.MessageBox.Show("CDKEY:OK"); System.Windows.MessageBox.Show("CDKEY: OK","KEY",MessageBoxButton.OK,MessageBoxImage.Asterisk);
sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D; sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D;
UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);
Configini.IniWritevalue("SN", " SN1", cdk.Text); Configini.IniWritevalue("SN", " SN1", cdk.Text);
Configini.IniWritevalue("SN", " SN2", MD5check.MD5Encrypt16(cpuSerialNumber + biosSerialNumber)); Configini.IniWritevalue("SN", " SN2", MD5check.MD5Encrypt16(cpuSerialNumber + biosSerialNumber));
} }
else if(string.Compare(M, MM) > 0) else if (string.Compare(M, MM) > 0)
{ {
System.Windows.MessageBox.Show("CDKEY:OK"); System.Windows.MessageBox.Show("CDKEY: OK", "KEY", MessageBoxButton.OK, MessageBoxImage.Asterisk);
sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D; sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D;
UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);
@ -93,17 +101,17 @@ namespace formula_manage.Windows
} }
else else
{ {
System.Windows.MessageBox.Show("CDKEY:overdue"); System.Windows.MessageBox.Show("CDKEY: Overdue", "WARNING", MessageBoxButton.OK, MessageBoxImage.Warning);
} }
} }
else else
{ {
System.Windows.MessageBox.Show("CDKEY:overdue"); System.Windows.MessageBox.Show("CDKEY: Overdue", "WARNING", MessageBoxButton.OK, MessageBoxImage.Warning);
} }
} }
else if (string.Compare(Y, YY) > 0) else if (string.Compare(Y, YY) > 0)
{ {
System.Windows.MessageBox.Show("CDKEY:OK"); System.Windows.MessageBox.Show("CDKEY: OK", "KEY", MessageBoxButton.OK, MessageBoxImage.Asterisk);
sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D; sn_time.Text = "CDkeyDueTime: " + Y + "-" + M + "-" + D;
UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath); UserClass.IniFile.IniFiles Configini = new UserClass.IniFile.IniFiles(INIPath);
@ -112,9 +120,17 @@ namespace formula_manage.Windows
} }
else else
{ {
System.Windows.MessageBox.Show("CDKEY:overdue"); System.Windows.MessageBox.Show("CDKEY: Overdue","WARNING",MessageBoxButton.OK,MessageBoxImage.Warning);
} }
} }
else
{
System.Windows.MessageBox.Show("CDKEY: Linvalid", "ERR", MessageBoxButton.OK, MessageBoxImage.Error);
}
}
else
{
System.Windows.MessageBox.Show("CDKEY: Linvalid","ERR" , MessageBoxButton.OK,MessageBoxImage.Error);
} }
} }

Loading…
Cancel
Save