// public DiagnosticViewModel(MachineInfo machineData) { _accessLevel |= 1 << (int)SmartCardGroups.Manufacturer; _accessLevel |= 1 << (int)SmartCardGroups.Distributor; var _arr = new System.Collections.BitArray(8); _arr[(int)SmartCardGroups.Distributor] = true; _machineData = machineData; Hardware = new ObservableCollection<HardwareInfo>(); Software = new ObservableCollection<SoftwareInfo>(); GeneralList = new ObservableCollection<string>(); var ini = Properties.Resources.machine_ini; var buffer = new StringBuilder(64); NativeWinApi.GetPrivateProfileString("Exe", "Game Exe", "", buffer, 64, ini); var hash = ""; var status = CheckHashIsAuthed(buffer, ref hash); Software.Add(new SoftwareInfo("1524", hash, status)); for (var i = 0; i < BoLib.getNumberOfGames(); i++) { var exe = new StringBuilder(64); var dir = new StringBuilder(64); NativeWinApi.GetPrivateProfileString("Game" + (i + 1), "Exe", "", exe, 64, ini); NativeWinApi.GetPrivateProfileString("Game" + (i + 1), "GameDirectory", "", dir, 64, ini); var fullPath = new StringBuilder(dir + @"\" + exe); status = CheckHashIsAuthed(fullPath, ref hash); Software.Add(new SoftwareInfo(dir.ToString().TrimStart("\\".ToCharArray()), hash, status)); } char[] licenseBuffer = new char[128]; NativeWinApi.GetPrivateProfileString("Keys", "License", "", licenseBuffer, 128, Properties.Resources.machine_ini); //NativeWinApi.GetPrivateProfileString("Key", "License", "", licenseBuffer, 128, Properties.Resources.machine_ini); string license = new string(licenseBuffer, 0, 128).Trim("\0".ToCharArray()); for (int i = 0; i < license.Length; i++) { if ((i % 15 == 0) && i > 0) license = license.Insert(i, "-"); } //var serial = BoLib.getSerialNumber(); Hardware.Add(new HardwareInfo() { SerialKey = BoLib.getSerialNumber(),//serial, MachineName = System.Environment.MachineName, //"TERMINAL_01", License = license, CpuType = "S430", CabinetType =/* (BoLib.GetUniquePcbID(0)) ? */"INNOCORE TS22 L29" /*: "AXIS - L29"*/, CpuID = BoLib.GetUniquePcbID(0) }); foreach (var ni in NetworkInterface.GetAllNetworkInterfaces()) { if (ni.NetworkInterfaceType != NetworkInterfaceType.Wireless80211 && ni.NetworkInterfaceType != NetworkInterfaceType.Ethernet) continue; foreach (var ip in ni.GetIPProperties().UnicastAddresses) { if (ip.Address.AddressFamily != System.Net.Sockets.AddressFamily.InterNetwork) continue; Hardware[0].IPAddress = ip.Address.ToString(); Hardware[0].Subnet = ip.IPv4Mask.ToString(); Hardware[0].DefGateway = ni.GetIPProperties().GatewayAddresses[0].Address.ToString(); } } var code = MachineDescription.CountryCode; //BoLib.getCountryCode(); GeneralList.Add("Country Code: (" + code + ") " + BoLib.getCountryCodeStrLiteral("", code)); GeneralList.Add("Printer Port: COM2"); GeneralList.Add(BoLib.getEDCTypeStr()); GeneralList.Add(_machineData.GetScreenResolution()); GeneralList.Add(_machineData.GetOsVersion()); GeneralList.Add(_machineData.GetMemoryInfo()); GeneralList.Add("Game Provider: Project Coin"); GeneralList.Add(_machineData.GetUpdateKey()); GeneralList.Add("Last Security Check: " + _machineData.GetLastMd5Check()); RaisePropertyChangedEvent("PropertyChanged"); RaisePropertyChangedEvent("Hardware"); RaisePropertyChangedEvent("Software"); RaisePropertyChangedEvent("GeneralList"); }