Uploaded Test files
This commit is contained in:
parent
f584ad9d97
commit
2e81cb7d99
16627 changed files with 2065359 additions and 102444 deletions
38
venv/Lib/site-packages/win32/Demos/RegRestoreKey.py
Normal file
38
venv/Lib/site-packages/win32/Demos/RegRestoreKey.py
Normal file
|
@ -0,0 +1,38 @@
|
|||
import win32api, win32security
|
||||
import win32con, ntsecuritycon, winnt
|
||||
import os
|
||||
|
||||
temp_dir=win32api.GetTempPath()
|
||||
fname=win32api.GetTempFileName(temp_dir,'rsk')[0]
|
||||
print(fname)
|
||||
## file can't exist
|
||||
os.remove(fname)
|
||||
|
||||
## enable backup and restore privs
|
||||
required_privs = ((win32security.LookupPrivilegeValue('',ntsecuritycon.SE_BACKUP_NAME),win32con.SE_PRIVILEGE_ENABLED),
|
||||
(win32security.LookupPrivilegeValue('',ntsecuritycon.SE_RESTORE_NAME),win32con.SE_PRIVILEGE_ENABLED)
|
||||
)
|
||||
ph = win32api.GetCurrentProcess()
|
||||
th = win32security.OpenProcessToken(ph, win32con.TOKEN_READ|win32con.TOKEN_ADJUST_PRIVILEGES)
|
||||
adjusted_privs=win32security.AdjustTokenPrivileges(th,0,required_privs)
|
||||
|
||||
try:
|
||||
sa=win32security.SECURITY_ATTRIBUTES()
|
||||
my_sid = win32security.GetTokenInformation(th,ntsecuritycon.TokenUser)[0]
|
||||
sa.SECURITY_DESCRIPTOR.SetSecurityDescriptorOwner(my_sid,0)
|
||||
|
||||
k, disp=win32api.RegCreateKeyEx(win32con.HKEY_CURRENT_USER, 'Python test key', SecurityAttributes=sa,
|
||||
samDesired=win32con.KEY_ALL_ACCESS, Class='some class', Options=0)
|
||||
win32api.RegSetValue(k, None, win32con.REG_SZ, 'Default value for python test key')
|
||||
|
||||
subk, disp=win32api.RegCreateKeyEx(k, 'python test subkey', SecurityAttributes=sa,
|
||||
samDesired=win32con.KEY_ALL_ACCESS, Class='some other class', Options=0)
|
||||
win32api.RegSetValue(subk, None, win32con.REG_SZ, 'Default value for subkey')
|
||||
|
||||
win32api.RegSaveKeyEx(k, fname, Flags=winnt.REG_STANDARD_FORMAT, SecurityAttributes=sa)
|
||||
|
||||
restored_key, disp=win32api.RegCreateKeyEx(win32con.HKEY_CURRENT_USER, 'Python test key(restored)', SecurityAttributes=sa,
|
||||
samDesired=win32con.KEY_ALL_ACCESS, Class='restored class', Options=0)
|
||||
win32api.RegRestoreKey(restored_key, fname)
|
||||
finally:
|
||||
win32security.AdjustTokenPrivileges(th, 0, adjusted_privs)
|
Loading…
Add table
Add a link
Reference in a new issue