maryska Opublikowano 4 Stycznia 2009 Zgłoś Opublikowano 4 Stycznia 2009 witam. mam zadanie do zrobienia: napisać detekcje sprzętu.. miałam to zrobić w formie console Application i to zrobiłam a teraz muszę przedstawić to w formie okienkowej. Powie mi ktoś jak to zrobić aby w widoku mojego okna klikając na poszczególny przycisk wyświetlała się np informacja o dysku twardym itp.. poniżej zamieszczam cały kod napisany przeze mnie w formie consolowej który działa poprawnie. Proszę pilnie o pomoc bo naprawdę nie wiem jak to się robi bo dopiero zaczynam się uczyć c# i normalnie nie wiem jak to napisać z tymi przyciskami.. a piszę w Microsoft Visual C# 2008 using System; using System.Collections; using System.Text; using System.Management; using System.IO; namespace WMI { class Program { static void Main(string[] args) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); int i=0; //dysk Console.WriteLine("DYSK TWARDY"); ManagementObjectSearcher zapytanie = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); ManagementObjectCollection kolekcja = zapytanie.Get(); foreach (ManagementObject opcja in kolekcja) { Console.WriteLine("Producent : {0}", opcja["Manufacturer"]); Console.WriteLine("Nazwa : {0}", opcja["Name"]); Console.WriteLine("Typinterfejsu : {0}", opcja["InterfaceType"]); Console.WriteLine("Model : {0}", opcja["Model"]); Console.WriteLine("partycje : {0}", opcja["Partitions"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i=0; //płytagłówna Console.WriteLine("PŁYTA GŁÓWNA"); ManagementObjectSearcher zapytanie6 = new ManagementObjectSearcher("SELECT * FROM Win32_BaseBoard"); ManagementObjectCollection kolekcja6 = zapytanie6.Get(); foreach (ManagementObject opcja6 in kolekcja6) { Console.WriteLine("nazwa : {0}", opcja6["Name"]); Console.WriteLine("creation class name :{0}", opcja6["CreationClassName"]); Console.WriteLine("depth :{0}", opcja6["Depth"]); Console.WriteLine("dscription :{0}", opcja6["Description"]); Console.WriteLine("firma :{0}", opcja6["Manufacturer"]); Console.WriteLine("hot swappable :{0}", opcja6["HotSwappable"]); Console.WriteLine("model :{0}", opcja6["Model"]); Console.WriteLine(""); i = 1; } if (i == 0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i = 0; //procesor Console.WriteLine("PROCESOR"); ManagementObjectSearcher zapytanie2 = new ManagementObjectSearcher("SELECT * FROM Win32_Processor"); ManagementObjectCollection kolekcja2 = zapytanie2.Get(); foreach (ManagementObject opcja2 in kolekcja2) { Console.WriteLine("Nazwa : {0}", opcja2["Name"]); Console.WriteLine("Firma : {0}", opcja2["Manufacturer"]); Console.WriteLine("Socket : {0}", opcja2["SocketDesignation"]); Console.WriteLine("Rodzina : {0}", opcja2["Family"]); Console.WriteLine("MAksymalna predkość : {0} Mhz", opcja2["MaxClockSpeed"]); Console.WriteLine("Ilość rdzeni : {0}", opcja2["NumberOfCores"]); Console.WriteLine("Poziom : {0}", opcja2["Level"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i=0; //cache Console.WriteLine("PAMIEC CACHE"); ManagementObjectSearcher zapytanie3 = new ManagementObjectSearcher("SELECT * FROM Win32_CacheMemory"); ManagementObjectCollection kolekcja3 = zapytanie3.Get(); foreach (ManagementObject opcja3 in kolekcja3) { Console.WriteLine("typ : {0}", opcja3["CacheType"]); Console.WriteLine("nazwa : {0}", opcja3["Name"]); Console.WriteLine("maksymalny rozmiar : {0}", opcja3["MaxCacheSize"]); Console.WriteLine("poczatkowy rozmiar : {0}", opcja3["InstalledSize"]); Console.WriteLine("poziom : {0}", opcja3["Level"]); // Console.WriteLine("Ilość rdzeni : {0}", opcja2["NumberOfCores"]); Console.WriteLine("nazwa systemu: {0}", opcja3["SystemName"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i=0; //karta graficzna Console.WriteLine("KARTA GRAFICZNA"); ManagementObjectSearcher zapytanie4 = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController"); ManagementObjectCollection kolekcja4 = zapytanie4.Get(); foreach (ManagementObject opcja4 in kolekcja4) { Console.WriteLine("nazwa : {0}", opcja4["Name"]); Console.WriteLine("architektura video : {0}", opcja4["VideoArchitecture"]); Console.WriteLine("procesor graficzny : {0}", opcja4["VideoProcessor"]); Console.WriteLine("maxymalna prędkość odświeżania : {0}", opcja4["MaxRefreshRate"]); Console.WriteLine("minimalna prędkość odświeżania : {0}", opcja4["MinRefreshRate"]); Console.WriteLine("ilość palet koloru : {0}", opcja4["NumberOfColorPlanes"]); Console.WriteLine("data instalacji : {0}", opcja4["InstallDate"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i=0; //karta dżwiekowa Console.WriteLine("KARTA DZWIĘKOWA"); ManagementObjectSearcher zapytanie5= new ManagementObjectSearcher("SELECT * FROM Win32_SoundDevice"); ManagementObjectCollection kolekcja5 = zapytanie5.Get(); foreach(ManagementObject opcja5 in kolekcja5) { Console.WriteLine("nazwa : {0}" ,opcja5["Name"]); Console.WriteLine("nazwa produktu :{0}",opcja5["ProductName"]); Console.WriteLine("Producent :{0}",opcja5["Manufacturer"]); Console.WriteLine("nazwa produktu :{0}", opcja5["Caption"]); Console.WriteLine("data instalacji :{0}",opcja5["InstallDate"]); Console.WriteLine("PNP ID :{0}",opcja5["PNPDeviceID"]); Console.WriteLine("ID urządzenia :{0}", opcja5["DeviceID"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } i=0; //cd rom Console.WriteLine("CD ROM"); ManagementObjectSearcher zapytanie7= new ManagementObjectSearcher("SELECT * FROM Win32_CDROMDrive"); ManagementObjectCollection kolekcja7 = zapytanie7.Get(); foreach(ManagementObject opcja7 in kolekcja7) { Console.WriteLine("ID urządzenia : {0}" ,opcja7["DeviceID"]); Console.WriteLine("nazwa :{0}",opcja7["Name"]); Console.WriteLine("firma :{0}",opcja7["Manufacturer"]); Console.WriteLine("minimalny rozmiar bloku :{0}", opcja7["MinBlockSize"]); Console.WriteLine("maksymalny rozmiar bloku :{0}", opcja7["MaxBlockSize"]); Console.WriteLine("szybkość transferu :{0}", opcja7["TransferRate"]); Console.WriteLine("numer szyny :{0}", opcja7["SCSIBus"]); Console.WriteLine(""); i=1; } if(i==0) { Console.WriteLine("nie odnaleziono urządzenia"); Console.WriteLine(""); } //klawiatura Console.WriteLine("KLAWIATURA"); ManagementObjectSearcher zapytanie1 = new ManagementObjectSearcher("SELECT * FROM Win32_Keyboard"); ManagementObjectCollection kolekcja1 = zapytanie1.Get(); foreach (ManagementObject opcja1 in kolekcja1) { Console.WriteLine("rodzaj : {0}", opcja1["Caption"]); Console.WriteLine("Nazwa : {0}", opcja1["Name"]); Console.WriteLine("IDurządzenia : {0}", opcja1["DeviceID"]); Console.WriteLine("status : {0}", opcja1["Status"]); Console.WriteLine(""); } i=0; Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine(""); Console.ReadLine(); } } } Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 4 Stycznia 2009 Zgłoś Opublikowano 4 Stycznia 2009 Wstawiasz pole tekstowe i pod obsługe przycisku dajesz dodanie tekstu do pola. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
maryska Opublikowano 4 Stycznia 2009 Zgłoś Opublikowano 4 Stycznia 2009 No ja wiem że tak ale nie wiem jak to zapisać. Może mały przykładowy kod ktoś by zapodał? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 4 Stycznia 2009 Zgłoś Opublikowano 4 Stycznia 2009 Chociazby textBox1.AppendText("kkk\n"); textBox1.AppendText("kkk"); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
maryska Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 heh.. ale jak mam zapisać to aby jak nacisnę na ten przycisk to zostaną wyciągnięte informacje o dysku twardym itp tak jak to zrobiłam consolowo i pokazane w polu tekstowym? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 Obsługa przycisku może wyglądać jakoś tak (pisze z głowy najprościej jak się da) private void PokazCos_Click(object sender, EventArgs e){ ManagementObjectSearcher zapytanie = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive"); ManagementObjectCollection kolekcja = zapytanie.Get(); int cnt = 0; foreach (ManagementObject opcja in kolekcja) { cnt++; string temp = "Dysk " + cnt.ToString() + "\r\n" + "Producent : " + opcja["Manufacturer"] + "\r\n" + "Nazwa : " + opcja["Name"] + "\r\n" + "itd\r\n\r\n"; txtDaneDysku.AppendText(temp); } if(cnt == 0) txtDaneDysku.AppendText("Brak dysków itd.\r\n"); //to samo dla każdego typu urządzeń} Dodatkowo możesz ustawić w textboxie właściwość Multiline na true i poszerzyć pole tekstowe... Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Adriano321 Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 (edytowane) Dodaj na formie, kontrolkę TreeView i Button. Kliknij na buttona 2 razy. Tam gdzie ci się pojawi metoda do obsługi zdarzenia kliknięcia wstaw taki kod: ManagementObjectSearcher zapytanie = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");ManagementObjectCollection kolekcja = zapytanie.Get();foreach (ManagementObject opcja in kolekcja){ TreeNode node = new TreeNode("HDD"); node.Nodes.Add("Producent : {0}", opcja["Manufacturer"]); node.Nodes.Add("Nazwa : {0}", opcja["Name"]); node.Nodes.Add("Typinterfejsu : {0}", opcja["InterfaceType"]); node.Nodes.Add("Model : {0}", opcja["Model"]); node.Nodes.Add("partycje : {0}", opcja["Partitions"]); this.treeView1.Nodes.Add(node);} Edytowane 5 Stycznia 2009 przez Adriano321 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
maryska Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 Dzięki wielkie wam:D A jeszcze jedno.. bo jak klikam na jeden przycisk to się wyświetla mi informacje i teraz klikam na drugi i mi zaczyna się wyświetlać druga informacja ale tamta pierwsza się nie kasuje no i właśnie chodzi mi o to jak napisać kod aby po naciśnięciu następnego przycisku nie było widać informacji z poprzedniego przycisku w polu tekstowym? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Polar Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 Na początku metody zdarzenia naciśnięcia przycisku musisz wykasować poprzednią zawartość. Dla TextBox dodaj: txtDaneDysku.Text = ""; Dla TreeView dodaj: treeView1.Node.Clear(); treeView1.Nodes.Clear(); Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
maryska Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 Dzięki!!! A istnieje jakaś możliwość aby zmienić wygląd przycisków znaczy chodzi mi o to aby można wstawić jakiś obrazek zamiast zwykłego wyglądu? Jak tak to jak to się robi? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
SGJ Opublikowano 5 Stycznia 2009 Zgłoś Opublikowano 5 Stycznia 2009 Najpierw się mysli, po czym patrzy jakie własciwosci mozna ustawić na danej kontrolce. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
PelzaK Opublikowano 7 Stycznia 2009 Zgłoś Opublikowano 7 Stycznia 2009 tudzież czyta MSDNa z opisem klasy i już wiesz jakie metody możesz użyć. Manual to podstawa w pracy programisty, im szybciej przywykniesz, tym będzie Ci łatwiej ;) Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...