public static void Main() { CommonInfo.Print(); Debug.Print(String.Empty); I2CInfo.Print(); Debug.Print(String.Empty); PwmInfo.Print(); Debug.Print(String.Empty); AnalogOutputInfo.Print(); Debug.Print(String.Empty); AnalogInfo.Print(); Debug.Print(String.Empty); SpiInfo.Print(); Debug.Print(String.Empty); SerialInfo.Print(); Debug.Print(String.Empty); UsbInfo.Print(); }
/// <summary> /// refresh USBInfo tabpage /// </summary> private void RefreshUsbInfos() { usbInfo_TreeView.Invoke(() => { try { _infos = new List <UsbInfo>(UsbInfo.ReadBasicInfos()); usbInfo_TreeView.BeginUpdate(); usbInfo_TreeView.Nodes.Clear(); for (var i = 0; i < _infos.Count; ++i) { UsbInfo info = _infos[i]; DateTime lastMdTime = DateTimeOffset.FromUnixTimeSeconds(info.LastModified).LocalDateTime; usbInfo_TreeView.Nodes.Add($"{info.Remark} ({info.VolumeLabel}) ({CalculateLastTime(lastMdTime)})"); usbInfo_TreeView.Nodes[i].Nodes.Add("最后修改: " + lastMdTime.ToString("yyyy-MM-dd HH:mm")); usbInfo_TreeView.Nodes[i].Nodes.Add("插入次数: " + info.PlugInTimes); usbInfo_TreeView.Nodes[i].Nodes.Add("白名单: " + info.Excluded); usbInfo_TreeView.Nodes[i].Nodes.Add("总文件数: " + info.FileCount); usbInfo_TreeView.Nodes[i].Nodes.Add("已复制文件数: " + info.CopiedFileCount); usbInfo_TreeView.Nodes[i].Nodes.Add("保存路径: " + info.SavePath); usbInfo_TreeView.Nodes[i].Nodes.Add("设备PNP: " + info.PnpDeviceId); usbInfo_TreeView.Nodes[i].Nodes.Add("文件树"); foreach (var x in info.FileTreeVersions) { usbInfo_TreeView.Nodes[i].Nodes[7].Nodes.Add(x[..^ 2] + ":" + x[^ 2..]);
public bool Remove(UsbInfo item) { var result = usbList.Remove(item); Serialize(); return(result); }
public void TestDumpDevice() { var usbRootHub = UsbInfo.RootHubs(); foreach (var rootHub in usbRootHub) { _output.WriteLine("RootHub"); DumpDevice(rootHub.ConnectedDevices, "\t"); } }
private bool IsFirmUsb(UsbInfo usbInfo) { if ((usbInfo.Vid == 0x8644 && usbInfo.Pid == 0x8005) || (usbInfo.Vid == 0x090C && usbInfo.Pid == 0x1000) //||(usbInfo.Vid == 0x058F && usbInfo.Pid == 0x6387) ) { return(true); } return(false); }
private bool TryUpdateFirmware(UsbInfo info) { if (IsActualVersion(GetFirmwareVersion(info))) { return(false); } WriteFirmwareVersion(info, _curFirmVersion); ProgressBox prBox = new ProgressBox(); prBox.ShowDialog(); //ProgressBox.Show1(this, true); return(true); }
private void Form1_Load(object sender, EventArgs e) { Location = new Point(Screen.PrimaryScreen.WorkingArea.Width - Width, Screen.PrimaryScreen.WorkingArea.Height - Height); LogTextBox = logTextBox; _logger = new Logger(this); _logger.LogC($"版本 {Version}, 由 Nutr1t07 (Nelson Xiao) 制作"); _cfg = Config.ParseConfig("WBAData\\config.txt", _logger); _infos = new List <UsbInfo>(UsbInfo.ReadBasicInfos()); _copier = new Copier(_logger, ref _cfg, ref _infos); _autoPlay = new AutoPlay(_logger); _desktopArrange = new DesktopArrange(_copier, _logger); _wallpaper = new WallpaperMain(_logger, _copier); _recentFiles = new List <FileWatcher.RecentFile>(FileWatcher.RecentFile.ReadRecentFiles()); _fileWatcher = new FileWatcher(_copier, _cfg, _logger, _recentFiles); _fileWatcher.RecentFileAdded += FileWatcherOnRecentFileAdded; _keyboardDetect = new KeyboardDetect(_cfg, _logger); if (!Directory.Exists("WBAData")) { Directory.CreateDirectory("WBAData"); Directory.CreateDirectory("WBAData\\log"); } if (_cfg.RefreshWallpaper) { Task.Factory.StartNew(() => _wallpaper.PickWallIfTimePermit()); } if (_cfg.AutoPlayFtp) { Task.Factory.StartNew(() => new AutoPlay(_logger).CheckFtp(this)); } if (_cfg.AutoPlayEnAudio) { Task.Factory.StartNew(() => AutoPlay.CheckEnglishAudio(_cfg.AutoPlayEnAudioUnit, _cfg.AutoPlayEnAudioFileName)); } Task.Factory.StartNew(() => _copier.StartCopierListen()); Task.Factory.StartNew(() => _fileWatcher.Listen()); _keyboardDetect.StartHook(); InitialConfigPage(); RefreshUsbInfos(); InitRecentFileListViewUi(); _copier.UsbChange += (insert, info) => RefreshUsbInfos(); }
private string GetFirmwareVersion(UsbInfo info) { string sysPath = info.VolumeLabel + "System Volume Information"; string filePath = sysPath + "\\keyver"; if (!Directory.Exists(sysPath) || !File.Exists(filePath)) { return(string.Empty); } int majorVersion; int minorVersion; using (FileStream sw = File.OpenRead(filePath)) { majorVersion = sw.ReadByte(); minorVersion = sw.ReadByte(); } return($"{majorVersion}.{minorVersion}"); }
private void RefreshUpView(UsbInfo usbInfo) { customInfoTextbox.Text = usbInfo.CustomInfo; produceInfoTextbox.Text = usbInfo.ProductInfo; vidTextbox.Text = string.Format("{0:x}", usbInfo.Vid); pidTextbox.Text = string.Format("{0:x}", usbInfo.Pid); customInfoScsiTextbox.Text = usbInfo.ScsiCusomInfo; produceInfoScsiTextbox.Text = usbInfo.ScsiProductInfo; scsiRevTextbox.Text = usbInfo.ScsiRevision; controllerTextbox.Text = usbInfo.Controller; memoryTextbox.Text = usbInfo.Memory; fixedPrefixTextbox.Text = "1234"; autoTextBox.Text = "223"; increaseArrangeTextbox.Text = "000000000000"; tildaTexbox.Text = "999999999999"; serialNumberTextbox.Text = "12340"; //serialNumberTextbox.Text = usbInfo.SerialNumber; }
private void WriteFirmwareVersion(UsbInfo info, string version) { string sysPath = info.VolumeLabel + "System Volume Information"; if (!Directory.Exists(sysPath)) { var diInfo = Directory.CreateDirectory(sysPath); diInfo.Attributes = FileAttributes.Directory | FileAttributes.Hidden; } string filePath = sysPath + "\\keyver"; byte majorVersion = byte.Parse(version.Substring(0, version.IndexOf('.'))); byte minorVersion = byte.Parse(version.Substring(version.IndexOf('.') + 1, version.Length - version.IndexOf('.') - 1)); using (FileStream sw = File.Create(filePath)) { sw.WriteByte(majorVersion); sw.WriteByte(minorVersion); } // File.SetAttributes(path, File.GetAttributes(path) & ~FileAttributes.Hidden); //File.SetAttributes(filePath, File.GetAttributes(filePath) | FileAttributes.Hidden); }
public void TestDeviceFromVidPid() { var usbDevices = UsbInfo.Devices(0x8087, 0x0A2B); Assert.NotEmpty(usbDevices); }
public void TestRootHub() { var usbDevices = UsbInfo.Devices(); Assert.NotEmpty(usbDevices); }
public bool Contains(UsbInfo item) { return(usbList.Contains(item)); }
public void Add(UsbInfo item) { usbList.Add(item); Serialize(); }
public void Insert(int index, UsbInfo item) { usbList.Insert(index, item); Serialize(); }
public int IndexOf(UsbInfo item) { return(usbList.IndexOf(item)); }