Python獲取註冊表信息

簡單一點 數碼 6

本文將從以下幾個方面詳細介紹Python如何獲取註冊表信息。

註冊表是Windows操作系統中的一個重要資料庫,它記錄了系統中的各種軟硬體配置信息。在Windows中,程序可以利用註冊表保存和獲取信息,例如保存程序配置信息和獲取系統資源信息等。

Python中可以通過winreg模塊來操作註冊表。winreg提供了執行創建、打開、關閉和刪除註冊表項的函數,以及讀取、寫入和刪除註冊表中的鍵和值的函數。

import winreg

# 創建註冊表項
key = winreg.CreateKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp")

# 打開註冊表項
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp", 0, winreg.KEY_READ)

# 關閉註冊表項
winreg.CloseKey(key)

# 刪除註冊表項
winreg.DeleteKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp")
import winreg

# 讀取鍵值
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp", 0, winreg.KEY_READ)
value, type = winreg.QueryValueEx(key, "Name")
print(value)
winreg.CloseKey(key)

# 寫入鍵值
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp", 0, winreg.KEY_WRITE)
winreg.SetValueEx(key, "Version", 0, winreg.REG_SZ, "1.0")
winreg.CloseKey(key)

# 刪除鍵值
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, "Software\\MyApp", 0, winreg.KEY_WRITE)
winreg.DeleteValue(key, "Version")
winreg.CloseKey(key)

通過讀取註冊表,我們可以獲取系統中一些重要的信息,例如計算機名、用戶名、IP地址、系統版本等。

import winreg

# 獲取計算機名
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName")
name, type = winreg.QueryValueEx(key, "ComputerName")
print(name)
winreg.CloseKey(key)

# 獲取用戶名
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon")
username, type = winreg.QueryValueEx(key, "DefaultUserName")
print(username)
winreg.CloseKey(key)
import winreg

# 獲取IP地址
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces")
for i in range(winreg.QueryInfoKey(key)[0]):
    subkey = winreg.EnumKey(key, i)
    interface_key = winreg.OpenKey(key, subkey)
    value, type = winreg.QueryValueEx(interface_key, "IPAddress")
    print(value)
    winreg.CloseKey(interface_key)
winreg.CloseKey(key)
import winreg

# 獲取系統版本
key = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows NT\CurrentVersion")
version, type = winreg.QueryValueEx(key, "ProductName")
print(version)
winreg.CloseKey(key)

通過以上代碼示例,我們可以看到Python獲取註冊表信息的便捷性和靈活性,它可以幫助我們輕鬆地讀取和寫入註冊表信息,甚至幫助我們獲取系統信息,為我們的程序開發提供了更多的可能性。

回復

共1條回復 我來回復
  • 暫無回復內容