操作登錄檔方法及應用

2021-07-10 17:54:12 字數 2239 閱讀 8103

import _winreg

key = _winreg.openkey(_winreg.hkey_local_machine,r"software\microsoft\windows\currentversion\run")

#獲取該鍵的所有鍵值,因為沒有方法可以獲取鍵值的個數,所以只能用這種方法進行遍歷

try:

i=0while true:

#enumvalue方法用來列舉鍵值,enumkey用來列舉子鍵

content = _winreg.enumvalue(key,i)

i += 1

print content

except windowserror:

pass

# 如果知道鍵的名稱,也可以直接取值

value = _winreg.queryvalueex(key,"abc")

print value

#建立新的鍵

newkey = _winreg.createkey(key,"hello")

#給新建立的鍵新增頁鍵值

#將此指令碼新增到登錄檔啟動項

p = "c:\users\administrator\desktop\main.py"

#在啟動項中新增程式啟動鍵值對 以及 頁值

path = 'python "%s"' % p

print path

env = _winreg.openkeyex(_winreg.hkey_local_machine,

"software\microsoft\windows\currentversion\run",

0,_winreg.key_set_value|_winreg.key_read

)print env

key = _winreg.enumkey(env,0)#讀取run下面的第乙個鍵

print key

value = _winreg.enumvalue(env,0)#列舉run鍵 下面的第乙個頁值

print value

value = _winreg.enumvalue(env,1)#列舉run鍵 下面的第二個頁值

print value

value = _winreg.enumvalue(env,2)#列舉run鍵 下面的第三個頁值

print value

# value = _winreg.enumvalue(env,3)#列舉run鍵 下面的第四個頁值 不存在則報錯

# print value

#遍歷全部的頁值如下

name_list =

try:

i = 0

while true:

name,value,type = _winreg.enumvalue(env,i)#列舉鍵下的頁值

i += 1

print name

except windowserror:

pass

print name_list

if "agent" not in name_list:

_winreg.setvalueex(env,"agent",0,_winreg.reg_sz,path)

else:

value = _winreg.queryvalueex(env,"agent")

#判斷是不是存在此鍵以及鍵的內容是否符合正常的

if "agent" not in name_list:

_winreg.setvalueex(env,"agent",0,_winreg.reg_sz,path)

#獲取子鍵的內容

value = _winreg.queryvalueex(env,"agent")

if value != path:

_winreg.setvalueex(env,"agent",0,_winreg.reg_sz,path) #如果存在此key 則會直接修改裡面的value

登錄檔操作

近來由於需要在自己寫的程式中對登錄檔進行操作。總結些經驗,並做個乙個demo供日後使用,現在把它拿出來和大家分享 小弟初學vc,有誤之處還請賜教。為了使用方便,我把一些操作寫成了函式,以便方便呼叫,具體 如下所示 一 定義 hkey hkey char content 256 所查詢登錄檔鍵值的內容...

登錄檔操作

2005年10月29日 19 29 00 一 寫入 1.建立檔案 建立乙個註冊 式檔案 reg,內容如下 windows registry editor version 5.00 hkey local machine software test server 192.168.66.22 databa...

登錄檔操作

import win32con key win32api.regopenkey win32con.hkey current user,software 0,win32con.key read print key import win32api import win32com key win32api...