pip install psutil pyperclip
import platform
import psutil
import wmi
import tkinter as tk
from tkinter import messagebox
import pyperclip
import subprocess
def get_detailed_system_info():
info = []
c = wmi.WMI()
# Temel Bilgiler
info.append(f"İşletim Sistemi: {platform.system()} {platform.release()}")
info.append(f"OS Sürümü: {platform.version()}")
info.append(f"Mimari: {platform.architecture()[0]}")
info.append(f"İşlemci: {platform.processor()}")
# CPU Bilgileri
cpu_freq = psutil.cpu_freq()
if cpu_freq:
info.append(f"CPU Frekansı: {cpu_freq.max:.2f} MHz")
info.append(f"CPU Çekirdekleri (Mantıksal): {psutil.cpu_count(logical=True)}")
info.append(f"CPU Çekirdekleri (Fiziksel): {psutil.cpu_count(logical=False)}")
# RAM Bilgileri
virtual_memory = psutil.virtual_memory()
info.append(f"RAM: {round(virtual_memory.total / (1024**3), 2)} GB")
# Anakart Bilgileri
for board in c.Win32_BaseBoard():
info.append(f"Anakart: {board.Manufacturer} {board.Product}")
# GPU Bilgileri
for gpu in c.Win32_VideoController():
memory = get_gpu_info_wmic()
info.append(f"Ekran Kartı: {gpu.Name} ({memory} MB)")
# Disk Bilgileri
for disk in c.Win32_DiskDrive():
size = int(disk.Size) / (1024**3) if disk.Size else 'Bilinmiyor'
info.append(f"Disk: {disk.Model} ({size:.2f} GB)")
# RAM Detayları
for memory in c.Win32_PhysicalMemory():
capacity = int(memory.Capacity) / (1024**3) if memory.Capacity else 'Bilinmiyor'
speed = memory.Speed if memory.Speed else 'Bilinmiyor'
info.append(f"RAM Slotu: {memory.Manufacturer} {capacity:.2f} GB {speed} MHz")
return "\n".join(info)
def get_gpu_info_wmic():
try:
# wmic komutunu çalıştırarak ekran kartı belleğini al
result = subprocess.run(
['wmic', 'path', 'Win32_VideoController', 'get', 'AdapterRAM'],
capture_output=True,
text=True
)
# Çıktıyı işleyerek bellek boyutunu MB cinsinden hesapla
lines = result.stdout.strip().split('\n')
if len(lines) > 1:
memory_str = lines[2].strip()
if memory_str:
memory_bytes = int(memory_str)
memory_mb = memory_bytes / (1024**2)
return f"{memory_mb:.2f}"
else:
return "Ekran Kartı Belleği: Bilinmiyor"
else:
return "Ekran Kartı: Bilinmiyor"
except Exception as e:
return f"Ekran Kartı: Hata ({str(e)})"
def display_info():
info = get_detailed_system_info()
text_box.delete("1.0", "end")
text_box.insert("end", info)
def save_to_file():
info = get_detailed_system_info()
with open("detaylı_sistem_raporu.txt", "w", encoding="utf-8") as file:
file.write(info)
messagebox.showinfo("Kaydedildi", "Sistem raporu 'detaylı_sistem_raporu.txt' dosyasına kaydedildi.")
def copy_to_clipboard():
info = get_detailed_system_info()
pyperclip.copy(info)
messagebox.showinfo("Kopyalandı", "Sistem raporu panoya kopyalandı.")
# GUI Ayarları
root = tk.Tk()
root.title("Detaylı Sistem Bilgisi Görüntüleyici")
text_box = tk.Text(root, wrap="word", width=80, height=30)
text_box.pack(pady=10, padx=10)
btn_display = tk.Button(root, text="Bilgileri Göster", command=display_info, width=20)
btn_display.pack(pady=5)
btn_save = tk.Button(root, text="Dosyaya Kaydet", command=save_to_file, width=20)
btn_save.pack(pady=5)
btn_copy = tk.Button(root, text="Panoya Kopyala", command=copy_to_clipboard, width=20)
btn_copy.pack(pady=5)
# Uygulama başlatıldığında bilgileri göster
display_info()
root.mainloop()
Bu Python uygulaması, kullanıcılara bilgisayarlarının donanım ve yazılım bileşenleri hakkında kapsamlı bilgiler sunan bir grafiksel kullanıcı arayüzü (GUI) sağlar. Tkinter kütüphanesi kullanılarak geliştirilen bu uygulama, sistem bilgilerini görsel olarak sunar ve kullanıcı etkileşimini kolaylaştırır.
Ana Özellikler:
- İşletim Sistemi Bilgileri: Uygulama, işletim sistemi türünü, sürümünü, mimarisini ve işlemci bilgilerini görüntüler.
- CPU Bilgileri: CPU’nun maksimum frekansı, mantıksal ve fiziksel çekirdek sayısı gibi detaylar sunulur.
- RAM Bilgileri: Toplam RAM miktarı ve her bir RAM slotunun kapasitesi ve hızı hakkında bilgiler sağlar.
- Anakart Bilgileri: Anakart üreticisi ve modeli gibi temel bilgiler sunar.
- GPU Bilgileri: Ekran kartı adı ve belleği hakkında bilgiler içerir.
- Disk Bilgileri: Disk modelleri ve kapasiteleri hakkında bilgiler sunar.
Kullanıcı Etkileşimi:
Uygulama, kullanıcıların sistem bilgilerini görüntülemelerini, bu bilgileri bir dosyaya kaydetmelerini veya panoya kopyalamalarını sağlayan üç ana buton içerir:
- Bilgileri Göster: Sistem bilgilerini GUI üzerinde görüntüler.
- Dosyaya Kaydet: Görüntülenen bilgileri bir metin dosyasına kaydeder.
- Panoya Kopyala: Görüntülenen bilgileri panoya kopyalar.
Gerekli Kütüphaneler:
Uygulamanın çalışabilmesi için aşağıdaki Python kütüphanelerinin yüklü olması gerekmektedir:
platform
psutil
wmi
tkinter
pyperclip
subprocess
Bu kütüphaneler, sistem bilgilerini toplamak ve GUI bileşenlerini oluşturmak için kullanılır.
Kurulum ve Çalıştırma:
Gerekli kütüphaneleri yüklemek için aşağıdaki pip komutlarını kullanabilirsiniz:
pip install psutil wmi pyperclip
tkinter
kütüphanesi, Python’un standart kütüphanelerinden biridir ve genellikle varsayılan olarak gelir.
Uygulamayı çalıştırmak için, yukarıdaki Python kodunu bir dosyaya kaydedip çalıştırmanız yeterlidir.
Sonuç:
Bu uygulama, kullanıcıların bilgisayarlarının donanım ve yazılım bileşenleri hakkında hızlı ve kolay bir şekilde bilgi edinmelerini sağlar. Grafiksel arayüzü sayesinde, teknik bilgiye sahip olmayan kullanıcılar bile sistem bilgilerini rahatlıkla görüntüleyebilir ve dışa aktarabilirler.