public static void WriteEmail()
            {
                HardwareConf conf = ReadConfig();
                MailMessage  m    = new MailMessage();
                SmtpClient   sc   = new SmtpClient();
                AdminData    temp = AdminData.ReadData();

                try
                {
                    m.From = new MailAddress("*****@*****.**");
                    m.To.Add(temp.adminmail);
                    m.Subject    = "Tagesbericht";
                    m.IsBodyHtml = true;
                    foreach (var item in changes)
                    {
                        m.Body += item + "<br>";
                    }
                    sc.Host        = "smtp.gmail.com";
                    sc.Port        = 587;
                    sc.Credentials = new System.Net.NetworkCredential("*****@*****.**", "Reddevil89");
                    sc.EnableSsl   = true;
                    sc.Send(m);
                }
                catch (Exception ex)
                {
                    WriteErrorLog(ex);
                }
            }
            public HardwareConf GetHardware()
            {
                HardwareConf             specs       = new HardwareConf();
                ManagementObjectSearcher Grafikkarte = new ManagementObjectSearcher("select * from Win32_VideoController");

                foreach (var Graka in Grafikkarte.Get())
                {
                    specs.grakaName = Graka["Name"].ToString();
                    specs.grakaRAM  = Graka["AdapterRAM"].ToString();
                }
                DriveInfo[] FestPlatten = DriveInfo.GetDrives();
                foreach (DriveInfo d in FestPlatten)
                {
                    if (d.DriveType == DriveType.Fixed)
                    {
                        specs.HDDName = d.Name.ToString();
                        if (d.IsReady == true)
                        {
                            specs.HDDSize = d.TotalSize / 1024 / 1024 / 1024;
                        }
                    }
                }
                ManagementObjectSearcher Prozessoren = new ManagementObjectSearcher("select * from Win32_Processor");

                foreach (ManagementObject obj in Prozessoren.Get())
                {
                    specs.Prozessor = obj["Name"].ToString();
                }
                NetworkInterface[] Netzwerk = NetworkInterface.GetAllNetworkInterfaces();
                if (Netzwerk == null || Netzwerk.Length < 1)
                {
                    Console.WriteLine("Keine Netzwerkkarte gefunden");
                }
                else
                {
                    foreach (NetworkInterface adapter in Netzwerk)
                    {
                        if (!adapter.Description.Contains("VMware") && !adapter.Description.Contains("Software"))
                        {
                            IPInterfaceProperties properties = adapter.GetIPProperties();
                            specs.NetworkCardName = adapter.Description;
                            specs.NetworkCardPA   = adapter.GetPhysicalAddress().ToString();
                        }
                    }
                }
                ManagementObjectSearcher Soundkarte = new ManagementObjectSearcher("select * from Win32_SoundDevice");

                foreach (ManagementObject obj in Soundkarte.Get())
                {
                    specs.SoundCardName = obj["Name"].ToString();
                    specs.SoundCardID   = obj["DeviceID"].ToString();
                }
                double memorynumber = new Microsoft.VisualBasic.Devices.ComputerInfo().TotalPhysicalMemory;

                specs.Memory       = Convert.ToString(Math.Ceiling(memorynumber / 1024 / 1024 / 1024) + " GB");
                specs.ComputerName = new Microsoft.VisualBasic.Devices.Computer().Name;
                return(specs);
            }
            public static HardwareConf ReadConfig()
            {
                System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(HardwareConf));
                System.IO.StreamReader file = new System.IO.StreamReader(AppDomain.CurrentDomain.BaseDirectory + "\\config.xml");
                HardwareConf           conf = (HardwareConf)reader.Deserialize(file);

                file.Close();

                return(conf);
            }
            public static void WriteConfig()
            {
                HardwareConf conf = new HardwareConf();

                conf = conf.GetHardware();

                System.Xml.Serialization.XmlSerializer writer = new System.Xml.Serialization.XmlSerializer(typeof(HardwareConf));
                var path = (AppDomain.CurrentDomain.BaseDirectory + "\\config.xml");

                System.IO.FileStream file = System.IO.File.Create(path);
                writer.Serialize(file, conf);
                file.Close();
            }
        private void timer1_Tick(object sender, ElapsedEventArgs e)
        {
            changes.Clear();
            AdminData data = AdminData.ReadData();

            timer1.Interval = data.time;
            WriteErrorLog("Service erfolgreich durchgeführt!");
            changes = HardwareConf.CheckDifferences();
            if (isChanged == true)
            {
                HardwareConf.WriteEmail();
                HardwareConf.WriteConfig();
            }
        }
            public static List <string> CheckDifferences()
            {
                HardwareConf conf   = ReadConfig();
                HardwareConf actual = new HardwareConf().GetHardware();

                changes.Add("Betroffener Computer : " + actual.ComputerName);

                if (conf.grakaName != actual.grakaName)
                {
                    changes.Add("Fehler bei Grafikkarte festgestellt! " + actual.grakaName + " statt " + conf.grakaName);
                    isChanged = true;
                }
                if (conf.grakaRAM != actual.grakaRAM)
                {
                    changes.Add("Fehler bei Grafikkarte festgestellt! " + actual.grakaRAM + " statt " + conf.grakaRAM);
                    isChanged = true;
                }
                if (conf.HDDSize != actual.HDDSize)
                {
                    changes.Add("Fehler bei  Festplatte festgestellt " + actual.HDDName + " " + actual.HDDSize + " statt " + conf.HDDName + conf.HDDSize);
                    isChanged = true;
                }
                if (conf.Prozessor != actual.Prozessor)
                {
                    changes.Add("Fehler bei Prozessor festgestellt,  " + actual.Prozessor + " statt " + conf.Prozessor);
                    isChanged = true;
                }
                if (conf.NetworkCardPA != actual.NetworkCardPA)
                {
                    changes.Add("Fehler bei Netzwerkkarte festgestellt, " + actual.NetworkCardName + " statt " + conf.NetworkCardName);
                    isChanged = true;
                }
                if (conf.SoundCardID != actual.SoundCardID)
                {
                    changes.Add("Fehler bei  Soundkarte festgestellt ,  " + actual.SoundCardName + " statt " + conf.SoundCardName);
                    isChanged = true;
                }
                if (conf.Memory != actual.Memory)
                {
                    changes.Add("Fehler bei Arbeitsspeicher festgestellt , " + actual.Memory + " statt " + conf.Memory);
                    isChanged = true;
                }

                return(changes);
            }
Exemple #7
0
        public void showConfig()
        {
            data = AdminData.ReadData();
            HardwareConf conf = HardwareConf.ReadConfig();

            listBox1.Items.Add("verwendete Mail-Adresse: " + data.adminmail);
            listBox1.Items.Add("verwendeter Zeitintervall " + data.time + " ms");
            listBox1.Items.Add("------------------------------------------------------");
            listBox1.Items.Add("Verwendeter Computer: " + conf.ComputerName);
            listBox1.Items.Add("Grafikkarte: " + conf.grakaName);
            listBox1.Items.Add("Festplattenname: " + conf.HDDName);
            listBox1.Items.Add("Festplattengröße: " + conf.HDDSize + " GB");
            listBox1.Items.Add("Arbeitsspeicher: " + conf.Memory);
            listBox1.Items.Add("Netzwerkkarte: " + conf.NetworkCardName);
            listBox1.Items.Add("Prozessor: " + conf.Prozessor);
            listBox1.Items.Add("Name der Soundkarte: " + conf.SoundCardName);
            listBox1.Items.Add("------------------------------------------------------");
        }
        protected override void OnStart(string[] args)
        {
            AdminData    data = AdminData.ReadData();
            HardwareConf conf = new HardwareConf();

            if (!File.Exists(confPath))
            {
                HardwareConf.WriteConfig();
            }
            changes = HardwareConf.CheckDifferences();
            if (isChanged == true)
            {
                HardwareConf.WriteEmail();
            }
            timer1 = new Timer();
            this.timer1.Interval = data.time;
            /*Intervall in der Service ausgeführt wird, durch Editor änderbar */
            this.timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Tick);
            timer1.Enabled       = true;
            WriteErrorLog("Hardware-Service wurde gestartet.");
        }
Exemple #9
0
 [DllImport(DLL_Path)] public static extern ErrorCode BL_SetHardConf(int ID, byte ch, HardwareConf HardConf);