问题标签 [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 回答
387 浏览

python - 如何在 Python 中使用 _winreg 打印网络历史记录?

我正在尝试打印保存在 Windows 注册表中的网络历史记录,但遇到了麻烦。

我有两个功能。一是转换二进制文本,二是获取实际数据。

这是我所拥有的:

我相信错误出在这个 guid 值中:

当我自己运行“try”子代码时,它会抛出一个:

[错误 259] 没有更多可用数据

指向指导值。

我认为这就是我卡住的地方。我很难找到错误,因为它只是被抛出到异常代码中,因此没有给我任何反馈。

请帮忙!!!

编辑:从我挖掘的内容来看,这可能是由于在 64 位系统上运行 32 位 Python 所致。不过还在挖。

0 投票
1 回答
418 浏览

python - python没有显示windows安装日期

在 Windows 7 和 Python 3.2.2 上运行,以下脚本无法提供 Windows 安装日期。

输出总是:

但是当我使用 regedit 手动搜索密钥时,它包含十六进制值 0x517c09e0 (十进制为 1367083488)

0 投票
1 回答
1594 浏览

python - 使用 _winreg 编辑 REG_BINARY

我正在尝试制作一个简单的程序,可以使用 _winreg 在 Windows 中启用或禁用代理设置。我需要更改注册表中的 2 个设置才能执行此操作。第一个是ProxyEnable哪个是a REG_DWORD,第二个是DefaultConnectionSettings哪个是a REG_BINARY。我可以访问这两个键,并且对 dword 进行更改是没有问题的。我遇到问题的地方是第二个键,我可以打开并查询它,但我不确定如何更改它。这是一个字符串,所以我想我可以将它切片并添加我想要的位,但原始值是'\x03',我需要将其更改为 '\x09' ,当输入 python 时变为 '\t' 因为我猜它是转义的“水平标签”。我对 Python 很陌生,所以我意识到我可能完全错误地这样做了,

这是我需要帮助的关键,我可以打开并阅读它,但我不知道如何正确使用它。当我想重新启用代理时,我基本上只需要将第 9 个字节从 03 更改为 09,然后再返回到 03。

0 投票
1 回答
1434 浏览

python - 通过 python 更改注册表不正确

我正在使用上面的代码来设置代理。但它不会在互联网设置中添加新的密钥。而是创建一个新文件夹并使用提供的值放入一个名为 default 的密钥。

在此处输入图像描述

任何人都可以帮我解决这个问题。真的卡住了

0 投票
3 回答
2220 浏览

python - NameError:名称“OpenKey”未使用 winreg 定义

在 Python 中,我试图打开一个 regedit Key 来向它添加字符串值。但是,它以某种方式无法识别OpenKey()orConnectRegistry方法。

0 投票
3 回答
1190 浏览

python - 无法在 64 位平台上访问 HKLM/SOFTWARE 下的注册表

我试图访问 Win 7 64 位机器上的自定义注册表,但每次我尝试这样做时都会抛出一个错误,说

WindowsError: [Error2] 系统找不到指定的文件

我试图访问的注册表是:

HKEY_LOCAL_MACHINE\SOFTWARE\test11

我使用以下代码来访问它:

另外,当我尝试创建注册表时,如下所示:

它在以下位置创建密钥:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\test11

我不明白为什么它不会像这样创建它

HKEY_LOCAL_MACHINE\SOFTWARE\test11

0 投票
1 回答
2930 浏览

python - 如何从 Python 中的注册表中读取字符串格式的 Reg_Binary 类型值

这些是结果输出的注册表值,我希望我的输出是 chrome.exe 它在编辑二进制值中解码

输出是这样的。它只有一个值:

如何将其转换为字符串或文本?

0 投票
1 回答
430 浏览

python - Python _winreg 文件夹

我目前正在尝试使用 python 使用 _winreg 搜索注册表项。这是我的代码:

但是,它不会在那里搜索文件夹的任何子文件夹。例如,它包含一个名为 S-1-5-18 的文件夹,然后在其下方是另外三个名为 Components、Patches 和 Products 的文件夹。如何让 _winreg 遍历所有这些文件夹及其以下文件夹以查找具有“DisplayName”名称值的所有键?

查看了文档,但没有看到列出的任何内容。可能是解释没有我想的那么清楚

编辑

好的,所以我意识到我没有深入到文件夹,所以使用这段代码我可以正确访问文件夹:

我的输出显示如下:

所以我知道它已经到达那些文件夹。但是当我添加到代码中搜索“DisplayName”时,如下所示:

这是我的输出:

就像它丢失了文件夹或没有以相同的方式访问它们。这可能是一个简单的解决方案,但看着它,我就是看不出这里有什么问题

0 投票
1 回答
8187 浏览

python-2.7 - 是否可以在 Ubuntu Linux 上使用 win32gui/pywin32?

我有一个为 Windows 环境编写的软件,我正在尝试将它移植到 Linux 中。它在很大程度上基于 pywin32(以及其他两个 python GUI 库,如 Tkinter 和 wxPython)并依赖于 win32gui。

我的 Ubuntu 12.04.5 LTS 系统上没有安装 pywin32,所以我下载了源代码并尝试构建它,写道:

因此,我得到:

但从我在这里winreg阅读的内容来看,这个库仅适用于 Windows 。

这是否意味着我不能在 Linux 上使用 win32gui/pywin32 ?

如果是这样,如果可能的话,您能否建议一些解决方法或 Linux 的替代 python gui?我已经想到了 Tkinter 和 wxPython,但我不确定哪个最适合我的情况。

谢谢

0 投票
1 回答
1891 浏览

python - 在 Python 中禁用注册表重定向到 Wow6432Node

我正在尝试在 64 位系统上访问 HKEY_LOCAL_MAHINE\SOFTWARE... 下的注册表项。我有以下代码,但从结果来看,即使我的代码中有_winreg.DisableReflectionKey(_winreg.OpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE")) ,它也会被重定向到 Wow6432Node 。

我已阅读以下案例,但似乎那里描述的解决方案对作者或我都不起作用: 如何在 Python 上关闭注册表重定向?

还检查了 _winreg 文档,但没有具体的例子,我不知道我做错了什么。有任何想法吗?抱歉,我无权对现有案例发表评论,因此不得不打开一个新案例。