本文整理汇总了Python中_winreg.KEY_WOW64_64KEY属性的典型用法代码示例。如果您正苦于以下问题:Python _winreg.KEY_WOW64_64KEY属性的具体用法?Python _winreg.KEY_WOW64_64KEY怎么用?Python _winreg.KEY_WOW64_64KEY使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类_winreg
的用法示例。
在下文中一共展示了_winreg.KEY_WOW64_64KEY属性的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _open_windows_native_key
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def _open_windows_native_key(self, key, sub_key):
"""
Opens a windows registry key using the OS bitness-based version of the
registry view.
This method eventually calls the _winreg.OpenKey() method.
This is useful because if we're running a 32-bit python interpreter, by
default _winreg accesses the 32-bit registry view. This is a problem on
64-bit OSes as it limits us to registries of 32-bit applications.
"""
import _winreg
python_bitness, linkage = platform.architecture()
# If we're running 32-bit python, by default _winreg accesses the
# 32-bit registry view. This is a problem on 64-bit OSes.
if python_bitness == '32bit' and platform.machine().endswith('64'):
# Force _winreg to access the 64-bit registry view with the access
# map as _winreg.KEY_WOW64_64KEY
return _winreg.OpenKey(key, sub_key, 0, _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY)
else:
return _winreg.OpenKey(key, sub_key)
return key
示例2: win32_reg_read
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def win32_reg_read (self, keyname, path):
try:
import _winreg
mode = _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY
key = _winreg.OpenKey(keyname, path, 0, mode)
count = _winreg.QueryInfoKey(key)[0]
except:
return None
data = {}
for i in range(count):
try:
name, value, tt = _winreg.EnumValue(key, i)
except OSError as e:
break
data[name] = (tt, value)
return data
示例3: uninstall_all
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def uninstall_all():
"""uninstalls PyXLL from all installed Excel versions"""
for wow64_flags in (winreg.KEY_WOW64_64KEY, winreg.KEY_WOW64_32KEY):
for root in _root_keys.keys():
try:
flags = wow64_flags | winreg.KEY_READ
office_root = winreg.OpenKey(root, r"Software\Microsoft\Office", 0, flags)
except WindowsError:
continue
# look for all installed versions of Excel and uninstall PyXLL
i = 0
while True:
try:
subkey = winreg.EnumKey(office_root, i)
except WindowsError:
break
match = re.match("^(\d+(?:\.\d+)?)$", subkey)
if match:
office_version = match.group(1)
uninstall(office_root, office_version, wow64_flags)
i += 1
winreg.CloseKey(office_root)
示例4: GetMpcHcPath
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def GetMpcHcPath(self):
"""
Get the path of MPC-HC's installation directory through querying
the Windows registry.
"""
try:
if "PROCESSOR_ARCHITEW6432" in environ:
args = [_winreg.HKEY_CURRENT_USER,
"Software\MPC-HC\MPC-HC"]
args.extend((0, _winreg.KEY_READ | _winreg.KEY_WOW64_64KEY))
else:
args = [_winreg.HKEY_CURRENT_USER,
"Software\Gabest\Media Player Classic"]
mpc = _winreg.OpenKey(*args)
mpcPath =_winreg.QueryValueEx(mpc, "ExePath")[0]
_winreg.CloseKey(mpc)
except WindowsError:
mpcPath = None
return mpcPath
示例5: _get_windows_uuid
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def _get_windows_uuid():
# pylint: disable=broad-except
# pylint: disable=no-member
uuid_value = None
try:
try: # Python 2
import _winreg as winreg
except ImportError: # Python 3
import winreg
registry = winreg.HKEY_LOCAL_MACHINE
address = 'SOFTWARE\\Microsoft\\Cryptography'
keyargs = winreg.KEY_READ | winreg.KEY_WOW64_64KEY
key = winreg.OpenKey(registry, address, 0, keyargs)
value = winreg.QueryValueEx(key, 'MachineGuid')
winreg.CloseKey(key)
uuid_value = value[0]
except Exception:
pass
if not uuid_value:
try:
import subprocess
output = subprocess.check_output(['vol', 'c:'])
output = output.split()
uuid_value = output[len(output) - 1:]
except Exception:
pass
return uuid_value
示例6: getRegKey
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def getRegKey(registry, key, architecture=None):
""" Returns a _winreg hkey or none.
Args:
registry (str): The registry to look in. 'HKEY_LOCAL_MACHINE' for example
key (str): The key to open. r'Software\Autodesk\Softimage\InstallPaths' for example
architecture (int | None): 32 or 64 bit. If None use system default. Defaults to None
Returns:
A _winreg handle object
"""
# Do not want to import _winreg unless it is neccissary
regKey = None
import _winreg
aReg = _winreg.ConnectRegistry(None, getattr(_winreg, registry))
if architecture == 32:
sam = _winreg.KEY_WOW64_32KEY
elif architecture == 64:
sam = _winreg.KEY_WOW64_64KEY
else:
sam = 0
try:
regKey = _winreg.OpenKey(aReg, key, 0, _winreg.KEY_READ | sam)
except WindowsError:
pass
return regKey
示例7: create_registry_entry
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def create_registry_entry(product, arc_version):
"""Create a registry link back to the arcgisbinding package."""
root_key = winreg.HKEY_CURRENT_USER
if product == 'Pro':
product_name = "ArcGISPro"
else:
product_name = "Desktop{}".format(arc_version)
reg_path = "SOFTWARE\\Esri\\{}".format(product_name)
package_key = 'RintegrationProPackagePath'
link_key = None
try:
full_access = (winreg.KEY_WOW64_64KEY + winreg.KEY_ALL_ACCESS)
# find the key, 64- or 32-bit we want it all
link_key = winreg.OpenKey(root_key, reg_path, 0, full_access)
except fnf_exception as error:
handle_fnf(error)
if link_key:
try:
arcpy.AddMessage("Using registry key to link install.")
binding_path = "{}\\{}".format(r_lib_path(), "arcgisbinding")
winreg.SetValueEx(link_key, package_key, 0,
winreg.REG_SZ, binding_path)
except fnf_exception as error:
handle_fnf(error)
示例8: _get_arch
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def _get_arch(flags):
if flags & winreg.KEY_WOW64_64KEY:
return "64 bit"
elif flags & winreg.KEY_WOW64_32KEY:
return "32 bit"
return "unknown"
示例9: get_machine_id
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def get_machine_id():
global _machine_id
rv = _machine_id
if rv is not None:
return rv
def _generate():
# Potential sources of secret information on linux. The machine-id
# is stable across boots, the boot id is not
for filename in "/etc/machine-id", "/proc/sys/kernel/random/boot_id":
try:
with open(filename, "rb") as f:
return f.readline().strip()
except IOError:
continue
# On OS X we can use the computer's serial number assuming that
# ioreg exists and can spit out that information.
try:
# Also catch import errors: subprocess may not be available, e.g.
# Google App Engine
# See https://github.com/pallets/werkzeug/issues/925
from subprocess import Popen, PIPE
dump = Popen(
["ioreg", "-c", "IOPlatformExpertDevice", "-d", "2"], stdout=PIPE
).communicate()[0]
match = re.search(b'"serial-number" = <([^>]+)', dump)
if match is not None:
return match.group(1)
except (OSError, ImportError):
pass
# On Windows we can use winreg to get the machine guid
wr = None
try:
import winreg as wr
except ImportError:
try:
import _winreg as wr
except ImportError:
pass
if wr is not None:
try:
with wr.OpenKey(
wr.HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Cryptography",
0,
wr.KEY_READ | wr.KEY_WOW64_64KEY,
) as rk:
machineGuid, wrType = wr.QueryValueEx(rk, "MachineGuid")
if wrType == wr.REG_SZ:
return machineGuid.encode("utf-8")
else:
return machineGuid
except WindowsError:
pass
_machine_id = rv = _generate()
return rv
示例10: get_machine_id
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def get_machine_id():
global _machine_id
rv = _machine_id
if rv is not None:
return rv
def _generate():
# Potential sources of secret information on linux. The machine-id
# is stable across boots, the boot id is not
for filename in '/etc/machine-id', '/proc/sys/kernel/random/boot_id':
try:
with open(filename, 'rb') as f:
return f.readline().strip()
except IOError:
continue
# On OS X we can use the computer's serial number assuming that
# ioreg exists and can spit out that information.
try:
# Also catch import errors: subprocess may not be available, e.g.
# Google App Engine
# See https://github.com/pallets/werkzeug/issues/925
from subprocess import Popen, PIPE
dump = Popen(['ioreg', '-c', 'IOPlatformExpertDevice', '-d', '2'],
stdout=PIPE).communicate()[0]
match = re.search(b'"serial-number" = <([^>]+)', dump)
if match is not None:
return match.group(1)
except (OSError, ImportError):
pass
# On Windows we can use winreg to get the machine guid
wr = None
try:
import winreg as wr
except ImportError:
try:
import _winreg as wr
except ImportError:
pass
if wr is not None:
try:
with wr.OpenKey(wr.HKEY_LOCAL_MACHINE,
'SOFTWARE\\Microsoft\\Cryptography', 0,
wr.KEY_READ | wr.KEY_WOW64_64KEY) as rk:
return wr.QueryValueEx(rk, 'MachineGuid')[0]
except WindowsError:
pass
_machine_id = rv = _generate()
return rv
示例11: get_machine_id
# 需要导入模块: import _winreg [as 别名]
# 或者: from _winreg import KEY_WOW64_64KEY [as 别名]
def get_machine_id():
global _machine_id
rv = _machine_id
if rv is not None:
return rv
def _generate():
# Potential sources of secret information on linux. The machine-id
# is stable across boots, the boot id is not
for filename in '/etc/machine-id', '/proc/sys/kernel/random/boot_id':
try:
with open(filename, 'rb') as f:
return f.readline().strip()
except IOError:
continue
# On OS X we can use the computer's serial number assuming that
# ioreg exists and can spit out that information.
try:
# Also catch import errors: subprocess may not be available, e.g.
# Google App Engine
# See https://github.com/pallets/werkzeug/issues/925
from subprocess import Popen, PIPE
dump = Popen(['ioreg', '-c', 'IOPlatformExpertDevice', '-d', '2'],
stdout=PIPE).communicate()[0]
match = re.search(b'"serial-number" = <([^>]+)', dump)
if match is not None:
return match.group(1)
except (OSError, ImportError):
pass
# On Windows we can use winreg to get the machine guid
wr = None
try:
import winreg as wr
except ImportError:
try:
import _winreg as wr
except ImportError:
pass
if wr is not None:
try:
with wr.OpenKey(wr.HKEY_LOCAL_MACHINE,
'SOFTWARE\\Microsoft\\Cryptography', 0,
wr.KEY_READ | wr.KEY_WOW64_64KEY) as rk:
machineGuid, wrType = wr.QueryValueEx(rk, 'MachineGuid')
if (wrType == wr.REG_SZ):
return machineGuid.encode('utf-8')
else:
return machineGuid
except WindowsError:
pass
_machine_id = rv = _generate()
return rv