最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程

 更新時(shí)間:2015年04月07日 17:24:25   投稿:goldensun  
這篇文章主要介紹了操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程,包括遠(yuǎn)程對(duì)注冊(cè)表進(jìn)行修改的實(shí)現(xiàn),需要的朋友可以參考下

通過(guò)Python操作注冊(cè)表有兩種方式,第一種是通過(guò)Python的內(nèi)置模塊 _winreg;另一種方式就是Win32 Extension For Python 的win32api模塊,但是需要進(jìn)行額外的安裝。這里主要給出一些_winreg和win32api的Demo代碼。

 

1、 _winrg

可以參考官方的參考文檔:

http://docs.python.org/library/_winreg.html

http://www.python.org/doc/2.6.2/library/_winreg.html

 

1.1 讀取 
 

import _winreg
 
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer")
 
 #獲取該鍵的所有鍵值,因?yàn)闆](méi)有方法可以獲取鍵值的個(gè)數(shù),所以只能用這種方法進(jìn)行遍歷
 try:
  i = 0
while1:
#EnumValue方法用來(lái)枚舉鍵值,EnumKey用來(lái)枚舉子鍵
     name, value, type = _winreg.EnumValue(key, i)
print repr(name),
    i +=1
 except WindowsError:
print
 
 #如果知道鍵的名稱(chēng),也可以直接取值
 value, type = _winreg.QueryValueEx(key, "EnableAutoTray")

1.2 創(chuàng)建修改
 

import _winreg
 
key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r"Software\Microsoft\Windows\CurrentVersion\Explorer")
 
#刪除鍵
_winreg.DeleteKey(key, "Advanced")
 
#刪除鍵值
_winreg.DeleteValue(key, "IconUnderline")
 
#創(chuàng)建新的鍵
newKey = _winreg.CreateKey(key,"MyNewkey")
 
#給新創(chuàng)建的鍵添加鍵值
_winreg.SetValue(newKey,"ValueName",0,"ValueContent")

1.3 訪(fǎng)問(wèn)遠(yuǎn)程注冊(cè)表
 
1 #第二參數(shù)必須是HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE等預(yù)先定義好的值,拿到返回的key后就可以進(jìn)行操作了
2 key = _winreg.ConnectRegisty("IP地址或者機(jī)器名",_winreg.HKEY_CURRENT_USER)

2、 win32api

win32api 和 _winreg 的方法很類(lèi)似,一般是多了一個(gè)前綴"Reg",使用方法很基本上一樣,這里就不給具體的Demo代碼了。

就一般的應(yīng)用來(lái)說(shuō),使用_winreg就足夠了,但是_winreg有一個(gè)問(wèn)題,如果Python是32位的,并且是運(yùn)行在64位的操作系統(tǒng)上時(shí)就會(huì)有一點(diǎn)小問(wèn)題,由于操作系統(tǒng)會(huì)進(jìn)行注冊(cè)表的重定向,32位的程序無(wú)法訪(fǎng)問(wèn)64位應(yīng)用程序的注冊(cè)表。在Python2.6以前這個(gè)問(wèn)題都沒(méi)有解決,在Python2.7中通過(guò)補(bǔ)丁的形式修正了這個(gè)問(wèn)題(http://bugs.python.org/issue7347)。

通過(guò)例子來(lái)說(shuō)明一下這個(gè)問(wèn)題,假設(shè)我們的操作系統(tǒng)是64位的,然后在上面安裝了32位的Python,看如下的Python代碼:
 

import _winreg
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE,r"Software\Microsoft\Windows")
newKey = _winreg.CreateKey(key,"MyNewkey")

上面的代碼的執(zhí)行不會(huì)像預(yù)想那樣創(chuàng)建如下的鍵:

"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows"

而是會(huì)創(chuàng)建如下的鍵:

"HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows"

因?yàn)樵?4位的windows操作系統(tǒng)下,64位的程序和32位程序的注冊(cè)表是分開(kāi)的,32位應(yīng)用程序?qū)ψ?cè)表的操作(讀、寫(xiě))都會(huì)被重定向到Wow6432Node下面, 64位應(yīng)用程序的訪(fǎng)問(wèn)注冊(cè)表的行為則沒(méi)有變化。因此如果我們的32位應(yīng)用程序確實(shí)要訪(fǎng)問(wèn)64位程序所用到的注冊(cè)表的話(huà),就會(huì)有點(diǎn)問(wèn)題。由于_winreg本身的問(wèn)題,它對(duì)這種情況的支持不太充分,對(duì)windows api的封裝有一些bug,這個(gè)時(shí)候就需要用到 win32api 模塊。

下面用win32api提供的方法來(lái)修改上面的代碼如下:
 

import win32api
 
import win32con
 
key = win32api.RegCreateKeyEx(win32con.HKEY_LOCAL_MACHINE, r"Software\Microsoft\Windows", win32con.WRITE_OWNER |win32con.KEY_WOW64_64KEY|win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx (key,"MyNewkey", 0, win32con.REG_SZ, keyValue)

上面的win32con.KEY_WOW64_64KEY意思就是直接訪(fǎng)問(wèn)64位注冊(cè)表,不要進(jìn)行重定向,默認(rèn)的參數(shù)是win32con.KEY_WOW64_32KEY。

相關(guān)文章

  • 對(duì)python dataframe邏輯取值的方法詳解

    對(duì)python dataframe邏輯取值的方法詳解

    今天小編就為大家分享一篇對(duì)python dataframe邏輯取值的方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Python找出最小的K個(gè)數(shù)實(shí)例代碼

    Python找出最小的K個(gè)數(shù)實(shí)例代碼

    這篇文章主要介紹了Python找出最小的K個(gè)數(shù)實(shí)例代碼,簡(jiǎn)單分析了實(shí)現(xiàn)思路,冒泡法和partition思想,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • python使用nb_log模塊捕獲日志的方法

    python使用nb_log模塊捕獲日志的方法

    這篇文章主要介紹了python使用nb_log模塊捕獲日志,文中給大家介紹了nb_log模塊的使用方式,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-12-12
  • Python的爬蟲(chóng)框架scrapy用21行代碼寫(xiě)一個(gè)爬蟲(chóng)

    Python的爬蟲(chóng)框架scrapy用21行代碼寫(xiě)一個(gè)爬蟲(chóng)

    最近在學(xué)習(xí)Python的爬蟲(chóng)框架scrapy,通過(guò)爬取線(xiàn)報(bào)網(wǎng)站后發(fā)現(xiàn)整個(gè)過(guò)程還是挺值得學(xué)習(xí)的,所以下面這篇文章主要就給大家介紹了Python的爬蟲(chóng)框架scrapy利用21行代碼寫(xiě)一個(gè)爬蟲(chóng)的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。
    2017-04-04
  • python實(shí)現(xiàn)21點(diǎn)小游戲

    python實(shí)現(xiàn)21點(diǎn)小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)21點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-04-04
  • Python中os.path.join函數(shù)的用法舉例詳細(xì)講解

    Python中os.path.join函數(shù)的用法舉例詳細(xì)講解

    這篇文章主要介紹了Python中os.path.join函數(shù)用法的相關(guān)資料,os.path.join函數(shù)用于拼接路徑,根據(jù)操作系統(tǒng)自動(dòng)選擇分隔符,它可以處理不同參數(shù)的情況,包括絕對(duì)路徑、空字符串和以特定字符開(kāi)始的參數(shù),需要的朋友可以參考下
    2025-02-02
  • python爬蟲(chóng)入門(mén)教程之糗百圖片爬蟲(chóng)代碼分享

    python爬蟲(chóng)入門(mén)教程之糗百圖片爬蟲(chóng)代碼分享

    這篇文章主要介紹了python爬蟲(chóng)入門(mén)教程之糗百圖片爬蟲(chóng)代碼分享,本文以抓取糗事百科內(nèi)涵圖為需求寫(xiě)了一個(gè)爬蟲(chóng),,需要的朋友可以參考下
    2014-09-09
  • Python裝飾器decorator用法實(shí)例

    Python裝飾器decorator用法實(shí)例

    這篇文章主要介紹了Python裝飾器decorator用法,以實(shí)例形式詳細(xì)講述了Python裝飾器及相關(guān)概念與用途,需要的朋友可以參考下
    2014-11-11
  • Python基于百度云文字識(shí)別API

    Python基于百度云文字識(shí)別API

    這篇文章主要介紹了Python基于百度云文字識(shí)別API,用Python實(shí)現(xiàn)最簡(jiǎn)單的文字識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • python串口如何讀取byte類(lèi)型數(shù)據(jù)并訪(fǎng)問(wèn)

    python串口如何讀取byte類(lèi)型數(shù)據(jù)并訪(fǎng)問(wèn)

    這篇文章主要介紹了python串口如何讀取byte類(lèi)型數(shù)據(jù)并訪(fǎng)問(wèn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評(píng)論

泾川县| 濮阳县| 阳西县| 安岳县| 彭水| 凤冈县| 钦州市| 师宗县| 临高县| 邵武市| 平定县| 论坛| 桓仁| 陆河县| 池州市| 房山区| 元谋县| 婺源县| 安泽县| 华亭县| 阳城县| 永兴县| 巍山| 紫金县| 琼中| 兰坪| 渭南市| 綦江县| 平遥县| 柳江县| 太原市| 中山市| 广南县| 遂川县| 华坪县| 科技| 绥德县| 卓尼县| 焦作市| 县级市| 景洪市|