//iphoneClean库连接的 private void GetDeviceInfo() { m_deviceInfo = new iphoneInfo(); m_IDeviceInfoEx = new IDeviceInfoEx(m_deviceID); m_deviceInfo.Name = m_IDeviceInfoEx.GetProperty("DeviceName"); string type = m_IDeviceInfoEx.GetProperty("ProductType"); if (!string.IsNullOrEmpty(type)) { m_deviceInfo.DeviceClass = m_iphoneType[type]; } m_deviceInfo.SystemVersion = m_IDeviceInfoEx.GetProperty("ProductVersion"); m_deviceInfo.SerialNumber = m_IDeviceInfoEx.GetProperty("SerialNumber"); string dataFreeSize = m_IDeviceInfoEx.GetProperty("TotalDataAvailable"); Int64 dataAv; Int64.TryParse(dataFreeSize, out dataAv); m_deviceInfo.UsedStorage = ConvertSize(dataFreeSize); string dataSize = m_IDeviceInfoEx.GetProperty("TotalDataCapacity"); Int64 dataCap; Int64.TryParse(dataSize, out dataCap); Console.WriteLine(dataCap.ToString() + "----------------cap"); m_deviceInfo.TotalStorage = ConvertSize(dataSize); string totalDiskCapacity = m_IDeviceInfoEx.GetProperty("TotalDiskCapacity"); Int64 DiskCap; Int64.TryParse(totalDiskCapacity, out DiskCap); totalDiskCapacity = ConvertSize(totalDiskCapacity); Console.WriteLine(totalDiskCapacity + "------------------Disksize"); Int64 systemCap = DiskCap - dataCap; m_deviceInfo.SystemStorage = ConvertSize(systemCap); Console.WriteLine(m_deviceInfo.SystemStorage + "-----------------system"); Int64 contentCap = dataCap - dataAv; m_deviceInfo.ContentStorage = ConvertSize(contentCap); Console.WriteLine(m_deviceInfo.SystemStorage + "-----------------content"); string cleanXML = AppDomain.CurrentDomain.BaseDirectory; Console.WriteLine(cleanXML + "+++++++++++++++++++++++"); cleanXML = cleanXML.Replace("\\", "/"); cleanXML += "cleanDate.xml"; m_cleanXML = cleanXML; if (File.Exists(cleanXML)) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(cleanXML); XmlNode rootNode = xmlDoc.SelectSingleNode("CleanDates"); XmlNodeList nodeList = rootNode.ChildNodes; string time = nodeList[0].InnerText; //Console.WriteLine(time + "___________111111time"); m_deviceInfo.CleanTime = time; } else { CreateRecordCleanDataXML(cleanXML); m_deviceInfo.CleanTime = "0"; } Dispatcher.Invoke(DispatcherPriority.Normal, new Action( delegate() { this.m_mainWidget.Navigate(m_iosInfoWidget); m_showView = ShowWidget.InfoWidget; m_iosInfoWidget.SetDeviceInfo(m_deviceInfo); m_btnBack.Visibility = System.Windows.Visibility.Hidden; m_btnScan.Visibility = System.Windows.Visibility.Visible; m_btnSelectAll.Visibility = System.Windows.Visibility.Hidden; m_btnBack.IsEnabled = false; m_btnSelectAll.IsEnabled = false; if(m_spUpWidget == null) { m_spUpWidget = SpeedupAndClean.SpeedUpDetialsPage.CreateInstance(); } m_spUpWidget.SetDeviceSize(m_IDeviceInfoEx,m_deviceID); } )); }
public void SetDeviceSize(IDeviceInfoEx IDevInfoEx,int deviceID) { m_deviceID = deviceID; if(IDevInfoEx != null) { if(m_iDevInfoEx == null) { m_iDevInfoEx = IDevInfoEx; } string totalDiskCapacity = IDevInfoEx.GetProperty("TotalDiskCapacity"); Int64 DiskCap; Int64.TryParse(totalDiskCapacity, out DiskCap); string dataSize = IDevInfoEx.GetProperty("TotalDataCapacity"); Int64 dataCap; Int64.TryParse(dataSize, out dataCap); string dataFreeSize = IDevInfoEx.GetProperty("TotalDataAvailable"); Int64 dataFree; Int64.TryParse(dataFreeSize, out dataFree); string system = "System:" + ConvertSize(DiskCap - dataCap); string content = "Content:" + ConvertSize(dataCap - dataFree); string free = "Free:" + ConvertSize(dataFree); //591为总长 double systemColorWidth = (double)(DiskCap - dataCap) / DiskCap * 591; double contentColorWidth = (double)(dataCap - dataFree) / DiskCap * 591; double freeColorWidth = (double)dataFree / DiskCap * 591; //这个是为了防止容量太小导致绘制的长度太短导致文字都写不下,所以设最小长度为100 double lessValue = 0; if (systemColorWidth < 100) { lessValue = 100 - systemColorWidth; systemColorWidth = 100; if (contentColorWidth < 100) { contentColorWidth = 100; freeColorWidth = 591 - 100 - 100; } else if (freeColorWidth < 100) { freeColorWidth = 100; contentColorWidth = 591 - 100 - 100; } else { if(freeColorWidth > contentColorWidth) { freeColorWidth = freeColorWidth - lessValue; }else { contentColorWidth = contentColorWidth - lessValue; } } } else if (contentColorWidth < 100) { lessValue = 100 - contentColorWidth; contentColorWidth = 100; if (systemColorWidth < 100) { systemColorWidth = 100; freeColorWidth = 591 - 100 - 100; } else if (freeColorWidth < 100) { freeColorWidth = 90; systemColorWidth = 591 - 100 - 100; } else { if (freeColorWidth > systemColorWidth) { freeColorWidth = freeColorWidth - lessValue; } else { systemColorWidth = systemColorWidth - lessValue; } } } else if (freeColorWidth < 100) { lessValue = 100 - freeColorWidth; freeColorWidth = 100; if (systemColorWidth < 100) { systemColorWidth = 100; contentColorWidth = 591 - 100 - 100; } else if (contentColorWidth < 100) { contentColorWidth = 100; systemColorWidth = 591 - 100 - 100; } else { if (contentColorWidth > systemColorWidth) { contentColorWidth = contentColorWidth - lessValue; } else { systemColorWidth = systemColorWidth - lessValue; } } } m_tbSystemSize.Text = system; m_tbContentSize.Text = content; m_tbFreeSize.Text = free; m_systenColor.Width = systemColorWidth; m_contentColor.Width = contentColorWidth; m_freeColor.Width = freeColorWidth; Console.WriteLine(freeColorWidth + "---------------free"); Console.WriteLine(contentColorWidth + "---------------content"); Console.WriteLine(systemColorWidth + "---------------system"); } }