Compare commits

...
4 Commits
2 changed files with 47 additions and 16 deletions

No files matched your search

+2 -1
View File
@@ -8,7 +8,8 @@
Title="SUNLIGHT_CDKEY" Height="400" Width="600">
<Grid>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="20,10,0,0" TextWrapping="Wrap" Text="SN:" VerticalAlignment="Top" Width="170" FontSize="24"/>
<TextBox x:Name="sn_id" HorizontalAlignment="Left" Height="40" Margin="170,10,0,0" VerticalAlignment="Top" Width="340" FontSize="24"/>
<TextBox x:Name="sn_id" HorizontalAlignment="Left" Height="40" Margin="170,10,0,0" VerticalAlignment="Top" Width="340" FontSize="24"
PreviewTextInput="AlphanumericValidationTextBox" InputMethod.IsInputMethodEnabled="False"/>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="20,55,0,0" TextWrapping="Wrap" Text="DURATION:" VerticalAlignment="Top" Width="170" FontSize="24"/>
<TextBlock HorizontalAlignment="Left" Height="40" Margin="400,55,0,0" TextWrapping="Wrap" Text="MONTHS" VerticalAlignment="Top" Width="170" FontSize="24"/>
<ComboBox x:Name="DURATION" HorizontalAlignment="Left" Height="40" Margin="170,55,0,0" VerticalAlignment="Top" Width="220" DropDownClosed="DURATION_DropDownClosed" FontSize="24">
+45 -15
View File
@@ -31,32 +31,50 @@ namespace SUNLIGHT_CDKEY
T_M.Text = DateTime.Now.ToString("MM");
T_D.Text = DateTime.Now.ToString("dd");
}
private void AlphanumericValidationTextBox(object sender, TextCompositionEventArgs e)
{
Regex regex = new Regex(@"[^a-eA-E0-9]+$");
e.Handled = regex.IsMatch(e.Text.ToUpper());
}
private void validation_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space) e.Handled = true;
}
private void Tb_KeyFloating_D(object sender, TextCompositionEventArgs e)//输入事件
{
d = int.Parse(T_D.Text);
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if(d>30)T_D.Text = "30";
d = int.Parse(T_D.Text);
if (d > 30)
{
T_D.Text = "30";
}
}
private void Tb_KeyFloating_Y(object sender, TextCompositionEventArgs e)//输入事件
{
y = int.Parse(T_Y.Text);
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if (y > 2099) T_Y.Text = "2099";
y = int.Parse(T_Y.Text);
if (y > 2099)
{
T_Y.Text = "2099";
}
}
private void Tb_KeyFloating_M(object sender, TextCompositionEventArgs e)//输入事件
{
m = int.Parse(T_M.Text);
{
//Regex re = new Regex("[^0-9.-]+");
Regex re = new Regex(@"^[.][0-9]+$|^[0-9]*[.]{0,1}[0-9]*$");// 非负浮点数
e.Handled = !re.IsMatch(e.Text);
if (m > 12) T_M.Text = "12";
m = int.Parse(T_M.Text);
if (m > 12)
{
T_M.Text = "12";
}
}
private void DURATION_DropDownClosed(object sender, EventArgs e)
@@ -92,6 +110,8 @@ namespace SUNLIGHT_CDKEY
else if (DURATION.Text == "FOREVER")
{
y = 2099;
m = 12;
d = 30;
}
if (m > 12)
{
@@ -109,20 +129,30 @@ namespace SUNLIGHT_CDKEY
string a;
string b, my, mm, md;
if (sn_id.Text.Length <6)//id字节长度大于6有效
{
sn_id.BorderBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255,0, 0));
return;
}else sn_id.BorderBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 255, 255));
d = int.Parse(T_D.Text);
y = int.Parse(T_Y.Text);
m = int.Parse(T_M.Text);
a= sn_id.Text.Substring(0, 6);
sn_id.Text = sn_id.Text.ToUpper();
if (sn_id.Text.Length < 6)//id字节长度大于6有效
{
sn_id.BorderBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 0, 0));
return;
}
else
{
sn_id.BorderBrush = new SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 255, 255));
}
a= 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);
my = Convert.ToString(Convert.ToInt32(2255 - y), 16).ToUpper();
mm = Convert.ToString(Convert.ToInt32(255 - m), 16).ToUpper();
md = Convert.ToString(Convert.ToInt32(255-d), 16).ToUpper();
md = Convert.ToString(Convert.ToInt32(255 - d), 16).ToUpper();
b=my+mm+md;
cdk.Text = a + b + CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(b), true);
cdk.Text = a + b + CRCcheck16.ToCRC16(CRCcheck16.StringToHexByte(a+b), true);
}
}