python3操作注冊(cè)表的方法(Url protocol)
使用python操作注冊(cè)表的方法最近學(xué)習(xí)了一下,現(xiàn)在做一下筆記,由于對(duì)Python語(yǔ)言的使用還不是很熟練,所以寫(xiě)不出高大上的結(jié)構(gòu),但是解決問(wèn)題搓搓有余了。
說(shuō)道注冊(cè)表順便也說(shuō)一說(shuō)環(huán)境變量的修改(放下下一節(jié)講),里面有許多相似的地方,我覺(jué)得放在一起說(shuō)會(huì)比較合適。
操作注冊(cè)表
操作注冊(cè)表主要引入winreg包,winreg包是python3自帶的包,python2的名字和python3有區(qū)別_winreg,在這里只關(guān)注python3
key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"路徑的名字")
OpenKeyEx打開(kāi)一個(gè)注冊(cè)表,路徑不寫(xiě)就是根目錄,給個(gè)圖大家就明白了
點(diǎn)擊確定打開(kāi)windows注冊(cè)表
上面寫(xiě)的winreg.HKEY_CLASSES_ROOT,就是上圖中其中之一,想要打開(kāi)哪個(gè)就寫(xiě)哪個(gè)的名字 •新建一個(gè)分支
newKey = winreg.CreateKey(key,"文件名")
•獲取當(dāng)前名稱(chēng)對(duì)應(yīng)的值
winreg.QueryValueEx(key, '名稱(chēng)')
例如:winreg.QueryValueEx(key, 'PATH')
•設(shè)置當(dāng)前目錄下的值
winreg.SetValueEx(key,"名稱(chēng)",0,winreg.REG_EXPAND_SZ, "值")
例子:
key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"") #創(chuàng)建新的鍵 newKey = winreg.CreateKey(key,"aTest") #給新創(chuàng)建的鍵添加鍵值 winreg.SetValueEx(newKey,"a1",0,winreg.REG_EXPAND_SZ,"aaa") winreg.SetValueEx(newKey,"b1","star",1, "bbb") #創(chuàng)建新的子鍵 key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest") newKey = winreg.CreateKey(key,"DefaultIcon") winreg.SetValueEx(newKey,"",0,winreg.REG_EXPAND_SZ, "path ,1") newKey = winreg.CreateKey(key,"shell") key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell") newKey = winreg.CreateKey(key,"open") key = winreg.OpenKeyEx(winreg.HKEY_CLASSES_ROOT, r"aTest\shell\open") newKey = winreg.CreateKey(key,"command") winreg.SetValueEx(newKey,"url",0,winreg.REG_EXPAND_SZ, "\"path\" \"%1\"")
以上例子可以使用Url protocol,使用瀏覽器啟動(dòng)本地exe。直接將上文中的path換成本地exe的路徑就可以了。
Python 操作注冊(cè)表
通過(guò)Python的內(nèi)置模塊winreg這里主要給出一些winreg的Demo代碼
Python2:import _winreg、Python3:import winreg
#!python37 # -*- coding: utf-8 -*- # coding:utf-8 import winreg def obtain(): # 獲取該鍵的所有鍵值 key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\\Inspiry\\BasePay\\Address") # 獲取該鍵的所有鍵值,遍歷枚舉 try: i = 0 while 1: # EnumKey用來(lái)枚舉子鍵,EnumValue方法用來(lái)枚舉鍵值, name, value, type1 = winreg.EnumValue(key, i) # print(repr(name),value) return value i +=1 except WindowsError: print('error') if __name__ == '__main__': obtain()
好了這篇文章就介紹到這了,希望以后多多支持腳本之家。
相關(guān)文章
pytorch 轉(zhuǎn)換矩陣的維數(shù)位置方法
今天小編就為大家分享一篇pytorch 轉(zhuǎn)換矩陣的維數(shù)位置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12Python+wxPython構(gòu)建中文OCR截圖工具
隨著數(shù)字化時(shí)代的到來(lái),我們經(jīng)常需要從圖像中提取文本信息,本文將介紹如何使用Python編程語(yǔ)言和wxPython圖形用戶(hù)界面庫(kù)構(gòu)建一個(gè)簡(jiǎn)單的中文OCR截圖工具,需要的可以參考下2023-08-08Python實(shí)現(xiàn)批量獲取當(dāng)前文件夾下的文件名
這篇文章主要為大家詳細(xì)介紹了如何利用Python實(shí)現(xiàn)批量獲取當(dāng)前文件夾下的文件名,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02代碼解析python標(biāo)準(zhǔn)庫(kù)logging模塊
這篇文章主要為大家介紹了代碼解析python標(biāo)準(zhǔn)庫(kù)logging模塊,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05