feat: 添加电脑唯一码

master
Tongg 5 months ago
parent 6e92feced2
commit c5a0a42c43
  1. 33
      UserManagerTool/InstallWindow.xaml
  2. 27
      UserManagerTool/InstallWindow.xaml.cs
  3. 18
      UserManagerTool/Model/Helper/Common.cs
  4. 2
      UserManagerTool/UserManagerTool.csproj

@ -164,34 +164,49 @@
</Border>
</Grid>
<!-- 设备号 -->
<Grid Grid.Row="5" Grid.Column="0" Margin="20 10 20 0" Height="30">
<!-- <Grid Grid.Row="5" Grid.Column="0" Margin="20 10 20 0" Height="30"> -->
<!-- <Grid.ColumnDefinitions> -->
<!-- <ColumnDefinition Width="Auto" /> -->
<!-- <ColumnDefinition Width="*" /> -->
<!-- <ColumnDefinition Width="Auto" /> -->
<!-- </Grid.ColumnDefinitions> -->
<!-- <TextBlock Grid.Column="0" Text="设 备 号 码:" Style="{StaticResource TextBlockTitle}"/> -->
<!-- <Border Grid.Column="1" BorderBrush="#40b1ff" -->
<!-- BorderThickness="1" -->
<!-- CornerRadius="5"> -->
<!-- <TextBox Style="{StaticResource TextBox}" Text="" x:Name="DeviceCode" /> -->
<!-- </Border> -->
<!-- </Grid> -->
<Grid Grid.Row="6" Grid.Column="0" Margin="20 10 20 0" Height="30">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="设 备 号 码:" Style="{StaticResource TextBlockTitle}"/>
<TextBlock Grid.Column="0" Text="切工仪URL:" Style="{StaticResource TextBlockTitle}"/>
<Border Grid.Column="1" BorderBrush="#40b1ff"
BorderThickness="1"
CornerRadius="5">
<TextBox Style="{StaticResource TextBox}" Text="" x:Name="DeviceCode" />
CornerRadius="5 0 0 5">
<TextBox Style="{StaticResource TextBox}" Text="http://127.0.0.1/cut" x:Name="CutUrl" />
</Border>
<Button Grid.Column="2" Style="{StaticResource PrimaryButton}" Content="Ping" Width="40" x:Name="TestCutUrl" Click="ButtonBase_OnClick"/>
</Grid>
<Grid Grid.Row="6" Grid.Column="0" Margin="20 10 20 0" Height="30">
<Grid Grid.Row="7" Grid.Column="0" Margin="20 10 20 0" Height="30">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="切工仪URL:" Style="{StaticResource TextBlockTitle}"/>
<TextBlock Grid.Column="0" Text="电脑唯一码:" Style="{StaticResource TextBlockTitle}"/>
<Border Grid.Column="1" BorderBrush="#40b1ff"
BorderThickness="1"
CornerRadius="5 0 0 5">
<TextBox Style="{StaticResource TextBox}" Text="http://127.0.0.1/cut" x:Name="CutUrl" />
<TextBox Style="{StaticResource TextBox}" IsReadOnly="True" Text="" x:Name="ComputerCode" />
</Border>
<Button Grid.Column="2" Style="{StaticResource PrimaryButton}" Content="Ping" Width="40" x:Name="TestCutUrl" Click="ButtonBase_OnClick"/>
<Button Grid.Column="2" Style="{StaticResource PrimaryButton}" Content="复制" Width="40" x:Name="CopyComputerCode" Click="ButtonBase_OnClick"/>
</Grid>
<!-- <Grid Grid.Row="7" Grid.Column="0" Margin="20 10 20 0" Height="30"> -->
<!-- <Grid.ColumnDefinitions> -->

@ -33,13 +33,14 @@ public partial class InstallWindow : Window
* 6.
* 7. ->
*/
if (InstallSprakCheck())
{
InstallProgressBar.Visibility = Visibility.Visible;
StatusTextBlock.Visibility = Visibility.Visible;
Install.IsEnabled = false;
TestCutUrl.IsEnabled = false;
DeviceCode.IsEnabled = false;
// DeviceCode.IsEnabled = false;
DefaultPassword.IsEnabled = false;
DefaultUserName.IsEnabled = false;
BrowseInstallPath.IsEnabled = false;
@ -55,7 +56,7 @@ public partial class InstallWindow : Window
{
Install.IsEnabled = true;
TestCutUrl.IsEnabled = true;
DeviceCode.IsEnabled = true;
// DeviceCode.IsEnabled = true;
DefaultPassword.IsEnabled = true;
DefaultUserName.IsEnabled = true;
BrowseInstallPath.IsEnabled = true;
@ -263,12 +264,12 @@ public partial class InstallWindow : Window
return false;
}
string strDeviceCode = DeviceCode.Text;
if (strDeviceCode.Length < 4)
{
MessageBox.Show("设备号长度至少4位!");
return false;
}
// string strDeviceCode = DeviceCode.Text;
// if (strDeviceCode.Length < 4)
// {
// MessageBox.Show("设备号长度至少4位!");
// return false;
// }
string strCutUrl = CutUrl.Text;
if (string.IsNullOrWhiteSpace(strCutUrl))
@ -324,6 +325,10 @@ public partial class InstallWindow : Window
case "BrowseInstallPath":
SetInstallPath();
break;
case "CopyComputerCode":
Clipboard.SetText(ComputerCode.Text);
MessageBox.Show("已复制");
break;
}
}
}
@ -373,5 +378,11 @@ public partial class InstallWindow : Window
MessageBox.Show("建议以管理员权限运行此程序!", "权限不足", MessageBoxButton.OK, MessageBoxImage.Warning);
}
string cpuInfo = Common.GetHardwareInfo("Win32_Processor", "ProcessorId");
string motherboardInfo = Common.GetHardwareInfo("Win32_BaseBoard", "SerialNumber");
string diskInfo =Common. GetHardwareInfo("Win32_DiskDrive", "SerialNumber");
ComputerCode.Text = Common.GenerateMd5Hash(cpuInfo+motherboardInfo+diskInfo);
}
}

@ -1,5 +1,6 @@
using System.Data;
using System.IO;
using System.Management;
using System.Net.NetworkInformation;
using System.Reflection;
using System.Security.Cryptography;
@ -159,4 +160,21 @@ public class Common
return null;
}
public static string GetHardwareInfo(string wmiClass, string wmiProperty)
{
string result = string.Empty;
ManagementObjectSearcher searcher = new ManagementObjectSearcher($"SELECT {wmiProperty} FROM {wmiClass}");
foreach (ManagementObject obj in searcher.Get())
{
if (obj[wmiProperty] != null)
{
result = obj[wmiProperty].ToString();
break;
}
}
return result;
}
}

@ -21,6 +21,7 @@
<NeutralLanguage>zh</NeutralLanguage>
<AssemblyOriginatorKeyFile>SparkClient.snk</AssemblyOriginatorKeyFile>
<PublicSign>true</PublicSign>
<ApplicationIcon>instal.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
@ -28,6 +29,7 @@
<PackageReference Include="Microsoft.Data.Sqlite" Version="9.0.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlcipher" Version="2.1.10" />
<PackageReference Include="System.Management" Version="9.0.1" />
</ItemGroup>
<ItemGroup>

Loading…
Cancel
Save