问题标签 [winreg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4392 浏览

python - 检查注册表项是否存在python

我在 python 中创建的安装程序中遇到了一个小问题。我有一个函数,它根据它的位置返回一个键的值。

如果该位置不存在,我会收到错误消息。我希望函数返回False,所以如果该位置不存在,那么我可以运行软件安装程序,它总是出现在异常中

运行代码时遇到的异常是

我从def CheckRegistryKey函数中得到的错误是

我需要做的是检查注册表项或位置是否存在,如果不将其定向到可执行文件。任何帮助表示赞赏。

谢谢

0 投票
7 回答
14933 浏览

python - Python winreg 循环遍历子键

我可以使用下面的代码从我的 Windows 7 机器注册表配置单元“HKEY_LOCAL_MACHINE”中成功检索 5 个子键。

我的问题是,我该如何枚举这些下的键?我想最终列出 SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged 文件夹中的所有密钥,但我不知道如何一步步往下走。

作为对第一条评论的回应,我在我的机器上运行了这段代码,虽然它没有出错,但它没有产生结果。

regedit 或 reg 查询在该文件夹中显示 6 个值,但我无法获得 python 脚本来显示这六个。

0 投票
1 回答
1456 浏览

python - 使用 cygwinreg 的 Cygwin Python 脚本,可以在 Windows Python 上运行

Python新手在这里。

我正在使用 Cygwin 的 2.7.3 发行版在 Python 中编写一个简单的脚本。我想从此脚本访问/修改 Windows 注册表。我发现该_winreg模块在 cygwin python 上不可用,但存在替代cygwinreg

这个脚本的用户没有 cygwin python,他们有 windows python 安装。是否可以编写一个适用于两者的python脚本?

0 投票
1 回答
19234 浏览

windows-7 - 如何在 Python 中打开具有写入权限的 Windows 注册表

我 在使用 Python 2.7.3 _winreg模块中的_winreg.QueryValueEx函数访问 Windows 7 注册表时遇到了一些问题。

我以管理员身份运行 python 进程,并且可以创建新的键和值,如下所示:

Windows 注册表中的键

但是,当我重新打开同一个键并尝试设置值时,它给了我一个Access is denied错误:

有趣的是,以管理员身份运行,我无法使用KEY_WRITEKEY_ALL_ACCESS访问权限打开:

0 投票
9 回答
68444 浏览

python-2.7 - 用于读取和写入注册表路径的python脚本

我开发了一个 python 脚本,其中有一个设置窗口,可以选择安装软件的路径。单击设置窗口的确定按钮时,我想将所有选定的路径写入注册表并读取再次打开设置窗口时相同。我的代码如下所示。

我收到如下错误:

要从注册表中读取,保存的注册表必须显示在设置窗口中。我尝试使用以下代码。虽然它可以工作,但对我的编程方式不满意。帮助我获得更好的解决方案

0 投票
0 回答
150 浏览

python - 显示运行键中的所有值

我对 python 编程很陌生,我有点迷失在这里,如果我能得到一些关于这段代码的帮助,我真的很感激。

所以我试图只列出 Run 键中的所有值。这是为了找出计算机启动时运行的程序...

我把这段代码放在一起,但我不知道如何让它列出所有的值。

注意:在查询值 ex 而不是 3 个点中应该有一些东西,但我不知道该放什么让它显示所有值。

请帮助我一无所知。

0 投票
1 回答
2230 浏览

.net - windows重启后如何自动启动自己的可执行文件?

假设我有一个在 Windows 上运行的 C# .NET 2.0+ 应用程序。并且在某个特定时间点,它会强制 Windows 重新启动。windows重新启动后如何自动启动此应用程序以继续程序做一些工作?我需要以某种方式在代码中做到这一点,但我不知道如何。指出我,请提供有关此的一些信息,否则某些代码会很棒。谢谢!

0 投票
1 回答
506 浏览

python - Python winreg在Win7上缺少子键

我想知道为什么 python 模块 winreg 不返回 Win7 主机中的所有子键和值。

如果我使用本机 reg cmdline 命令查询注册表,我会得到以下信息:

如果我使用 python 脚本查询相同的位置,我只会得到以下值和子键:

regread.py 值:SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI {'ShowTabletKeyboard': 0}

如您所见,缺少一些项目。regread.py 在拉取其他注册表位置时似乎工作正常,并且基于 Tim Golden 在此处发布的代码:http: //bytes.com/topic/python/answers/802172-scanning-through-windows-registry

有谁知道为什么 winreg 不会从 Windows 7 主机上的 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI 返回所有值和子项。我是本地管理员,即使是域管理员,它仍然无法正常工作。我正在使用 python 3.3(32 位)和 pywin32-218。

0 投票
1 回答
547 浏览

python - python: _winreg 类型名称

关于值类型:http ://docs.python.org/2/library/_winreg.html#value-types

如何_winreg.REG_BINARY查询'REG_BINARY'

我可以通过以下方式手动完成:

肯定有更好的方法吗?

我正在尝试做的...

示例查询:

我想我应该能够做这样的事情:

当然,这是行不通的,但即使这样做了,这种方法在与 _winreg 一起使用时也会导致问题:

0 投票
0 回答
388 浏览

python - 即使重新启动,regedit 仍然显示已删除的密钥

我正在使用 winreg.DeleteKey 从注册表中删除密钥。我使用 API 没有问题;但是我遇到了一个奇怪的问题,如果我从 HKEY_LOCAL_MACHINE\SOFTWARE 中删除一个密钥,代码会成功运行并删除(如果我再次运行它,它会说它找不到密钥,因为它刚刚被删除),但是密钥即使重新启动后仍显示在 Regedit 中!

我什至可以在 Regedit 中编辑键的值!但是,如果我再次尝试删除该密钥,则会引发 WindowsError,表示它无法找到指定的文件,即使它第一次工作也是如此!

有人知道发生了什么吗?这令人费解,我似乎找不到任何有关此的信息。

编辑:显然 32 位应用程序打开 32 位密钥,而不是 64 位密钥。当我尝试像这样打开密钥时:

我收到“拒绝访问”错误消息。我尝试使用 runas 运行脚本,以管理员身份打开终端。我的用户帐户具有管理员权限,我什至检查了密钥本身的权限。管理员和所有用户都可以完全访问密钥。

任何想法为什么我无法打开它?