如何使用Python跟踪特定注册表项或文件中的更改?
我必须编写一个Python脚本来监视Windows文件系统中的特定注册表项和文件,并在每次其中一个发生更改时执行命令。 有谁熟悉Python包吗?它可以监视注册表和文件,并在它们更改时调用函数如何使用Python跟踪特定注册表项或文件中的更改?,python,file,python-2.7,registry,Python,File,Python 2.7,Registry,我必须编写一个Python脚本来监视Windows文件系统中的特定注册表项和文件,并在每次其中一个发生更改时执行命令。 有谁熟悉Python包吗?它可以监视注册表和文件,并在它们更改时调用函数 谢谢在python中有一个\u winreg库,可以读取和写入Windows注册表 from _winreg import * print r"*** Reading from SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***" aReg = Conne
谢谢在python中有一个
\u winreg
库,可以读取和写入Windows注册表
from _winreg import *
print r"*** Reading from SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***"
aReg = ConnectRegistry(None,HKEY_LOCAL_MACHINE)
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run")
for i in range(1024):
try:
n,v,t = EnumValue(aKey,i)
print i, n, v, t
except EnvironmentError:
print "You have",i," tasks starting at logon..."
break
CloseKey(aKey)
print r"*** Writing to SOFTWARE\Microsoft\Windows\CurrentVersion\Run ***"
aKey = OpenKey(aReg, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", 0, KEY_WRITE)
try:
SetValueEx(aKey,"MyNewKey",0, REG_SZ, r"c:\winnt\explorer.exe")
except EnvironmentError:
print "Encountered problems writing into the Registry..."
CloseKey(aKey)
CloseKey(aReg)
这是一个如何阅读和写作的例子。
有关更多信息,请访问:
为此,编写一个
侦听器
函数,该函数执行每个时间戳
,并返回regsiter键及其值的指令,另一个函数用于比较这些字典。您可以使用该模块读写Windows注册表
然后,您可以非常轻松地打开、查询和/或修改注册表项
import _winreg as wreg
# Open registry key of choice
my_key= wreg.OpenKey(wreg.HKEY_LOCAL_MACHINE, "Software\\Test\\test",0, wreg.KEY_ALL_ACCESS)
# Get a key value
my_key_val = wreg.QueryValueEx(my_key, 'ValueName')
# Close registry key
my_key.Close()
可能重复感谢,但我可以实时监控更改吗?-我不想每次都查询注册表并检查值是否更改。@Dan有一个EnumValue
返回元组并具有注册表项的键和值,您可以跟踪感兴趣的注册表项。我可以实时跟踪这些更改吗?我的意思是,当密钥自动更改时,Python脚本将调用function@Dan您可以拥有一个带有注册表键及其值和时间戳的字典,使用该字典检查注册表并找出更改,这是一个好主意。。但是你知道我是否可以,以及如何创建一种“监听器”,实时监控变化和响应?