1. #1

    c# Sistem Bilgilerini Gösterme ve yazdırma programı [Soner KOYLU]


    [Linkleri Görebilmek İçin Üye Olmanız Gerekmektedir. Üye Olmak İçin Tıklayın...]


    Uploaded with
    [Linkleri Görebilmek İçin Üye Olmanız Gerekmektedir. Üye Olmak İçin Tıklayın...]

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Text;
    using System.Windows.Forms;
    using Microsoft.Win32;
    using System.Net;
    using System.Management;
    using System.IO;
    using System.Drawing.Printing;

    namespace SistemBilgileri
    {
    public partial class frmSistemBilgileri : Form
    {
    public frmSistemBilgileri()
    {
    InitializeComponent();
    }
    string cozunurluk;
    private static StreamReader dosyaAkimi;
    private void Form1_Load(object sender, EventArgs e)
    {
    cozunurluk = SystemInformation.PrimaryMonitorSize.ToString().Replace("Width","En").Replace("Height","Boy") ;
    try
    {
    lblCozunurluk.Text += cozunurluk;
    lblMakinaAdi.Text += System.Net.Dns.GetHostName();
    IPHostEntry _IPHostEntry = Dns.GetHostEntry(System.Net.Dns.GetHostName());
    foreach (System.Net.IPAddress _IPAddress in _IPHostEntry.AddressList)
    {
    if (_IPAddress.AddressFamily.ToString() == "InterNetwork")
    {
    lblIpAdresi.Text += _IPAddress.ToString();
    }
    }
    RegistryKey key = Registry.LocalMachine.OpenSubKey(@"HARDWARE\DESCRIPTION\System\CentralProcessor\0", false);
    lblIslemci.Text += " " + key.GetValue("ProcessorNameString").ToString();
    //ekran kartı
    ManagementObjectSearcher arama = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController");
    foreach (ManagementObject bilgi in arama.Get())
    {
    lblEkran.Text += " " + bilgi["name"].ToString();
    double d=(Math.Round(((((double)Convert.ToDouble(bilgi["AdapterRam"]) / 1024) / 1024) / 1024), 2));
    if (d >= 1)
    {
    lblEkran.Text += (Math.Round(((((double)Convert.ToDouble(bilgi["AdapterRam"]) / 1024) / 1024) / 1024), 2)) + " GB";
    }
    else
    {
    lblEkran.Text += (Convert.ToDouble(bilgi["AdapterRam"]) / 1048576).ToString() + " MB";
    }
    }
    //hdd
    ManagementObjectSearcher mosDisks = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
    foreach (ManagementObject moDisk in mosDisks.Get())
    {
    lblHdd.Text += " " + (Math.Round(((((double)Convert.ToDouble(moDisk["Size"]) / 1024) / 1024) / 1024), 2)).ToString() + " GB";
    }
    //ram
    double totalCapacity = 0, toplamMb=0; ;
    ObjectQuery objectQuery = new ObjectQuery("select * from Win32_PhysicalMemory");
    ManagementObjectSearcher searcher = new
    ManagementObjectSearcher(objectQuery);
    ManagementObjectCollection vals = searcher.Get();

    foreach (ManagementObject val in vals)
    {
    totalCapacity += (Convert.ToDouble(val.GetPropertyValue("Capacity")) / 1073741824);
    toplamMb+=(Convert.ToDouble(val.GetPropertyValue("Capacity")) / 1048576);
    }
    if (totalCapacity >= 1)
    {
    lblRam.Text += " " + totalCapacity.ToString() + " GB";
    }
    else
    {
    lblRam.Text+=" " + toplamMb.ToString() + " MB";
    }
    }
    catch
    {
    MessageBox.Show("Hata");
    }
    }
    private void btnYazdir_Click(object sender, EventArgs e)
    {
    if (txtDemirbas.Text.Length != 0)
    {
    FileStream fs= new FileStream(Application.StartupPath+@"\SistemBilgileri.txt", FileMode.OpenOrCreate);
    StreamWriter sw = new StreamWriter(fs);
    sw.WriteLine(lblMakinaAdi.Text);
    sw.WriteLine(lblIpAdresi.Text);
    sw.WriteLine(lblSistem.Text);
    sw.WriteLine(lblIslemci.Text);
    sw.WriteLine(lblHdd.Text);
    sw.WriteLine(lblRam.Text);
    sw.WriteLine(lblEkran.Text);
    sw.WriteLine(lblCozunurluk.Text);
    sw.WriteLine("Demirbaş No: " + txtDemirbas.Text);
    sw.Close();
    fs.Close();
    dosyaAkimi = new StreamReader(Application.StartupPath+@"\SistemBilgileri.txt");
    PrintDocument PD = new PrintDocument();
    PD.PrintPage += new PrintPageEventHandler(OnPrintDocument);

    try
    {
    PD.Print();
    }
    catch
    {
    Console.WriteLine("Yazici çiktisi alinamiyor...");
    }
    finally
    {
    PD.Dispose();
    }
    }
    else
    {
    MessageBox.Show("Demirbaş No boş bırakılamaz !","Uyarı",MessageBoxButtons.OK,MessageBoxIcon.Error);
    }
    }
    public static void OnPrintDocument(object sender,PrintPageEventArgs e)
    {
    Font font = new Font("Verdana", 11) ;
    float yPozisyon = 0 ; int LineCount = 0 ;
    float leftMargin = e.MarginBounds.Left;
    float topMargin = e.MarginBounds.Top;

    string line=null;

    float SayfaBasinaDusenSatir = e.MarginBounds.Height / font.GetHeight() ;

    while (((line=dosyaAkimi.ReadLine()) != null) && LineCount < SayfaBasinaDusenSatir)
    {
    yPozisyon = topMargin + (LineCount * font.GetHeight(e.Graphics));
    e.Graphics.DrawString (line, font, Brushes.Black, leftMargin,yPozisyon);

    LineCount++;
    }
    if (line == null)
    {
    e.HasMorePages = false ;
    }
    else
    {
    e.HasMorePages = true ;
    }
    }

    private void frmSistemBilgileri_DoubleClick(object sender, EventArgs e)
    {
    MessageBox.Show("Bu program Kardelen yazılım adına Soner KÖYLÜ tarafından yazılmıştır.","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
    }
    }
    }
    Uyarı : System.Management referansını ekleyiniz.
    Programın tüm hakları bana aittir.


    --------------------------------------------------------------------
    Bir önceki konumuz olan «UltraeXe yakında çıkıyor [Kadro kuruluyor]» konumuzunda ilginizi çekeceğini düşünerek incelemenizi tavsiye ederiz.

  2. #2
    Teşekkürler


    --------------------------------------------------------------------

  3. #3
    Zamanında istemişlerdi bu programı. Eskişehirdeydik o zamanlar.


    --------------------------------------------------------------------

  • UYARILAR
  • 5651 sayılı kanunun ilgili maddesine göre üyeler yaptıkları paylaşımlardan sorumludur.
  • SİSTEM BİLGİLERİ
  • vBulletin® Jelsoft Enterprises Ltd © 2014
    Content Relevant URLs by vBSEO 3.6.1