问题标签 [registrykey]

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 投票
2 回答
12530 浏览

c# - 在不修改注册表项的情况下读取 Excel 混合数据类型

我正在尝试使用 C# 来读取具有混合数据类型的 excel 文件。下面是我的连接字符串

研究告诉我Extended Properties连接字符串中的完整应该是

Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text

但是,我被告知在连接字符串中,TypeGuessRows=0 没有任何意义,因为该值将直接取自 Registry。因此我需要手动修改密钥并从连接字符串中删除此属性。

所涉及的特定注册表项是:

小路:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

钥匙:

类型GuessRows

原始值 = 8,为了使它工作变为 = 0

如果不这样做,IMEX我添加TypeGuessRows=0Extended Properties.

但是,我公司禁止(严格)修改注册表值。我被告知要找到替代方案。

简而言之:

有没有一种方法可以读取混合数据类型的 excel文件无需修改任何注册表项(这是一种很常见的做法)?

进一步的话题:

你以前有过这种经历吗?是否有我们可以TypeGuessRows=0仅从连接字符串设置而无需修改注册表项的可能性(取消我的上述前提)。

如果事情没有解决OleDb

旁边有替代品OleDb吗?

我感谢任何建议或建议。

问候

0 投票
2 回答
1625 浏览

c# - C# 使用部分值计算存在的注册表项

我在测试中有很多键,格式为:“入口点 011”、“入口点 123” - 所以入口点后面有随机数。

我可以搜索上面的 registryPath 变量并计算包含“入口点”关键字的键的数量吗?假设还存在其他没有此关键字的键。

目前,我一直在使用 for 循环并循环所有可能的组合以获取所有键的计数,检查键是否存在,但是由于键高达“入口点 9000”,因此具有 for 循环执行 9000 次是非常低效的。

0 投票
1 回答
1660 浏览

visual-c++ - RegCloseKey(HKEY) 时指定了无效的 HANDLE

我使用 Visual Studio 2003。有问题的程序是一个 MFC 应用程序。

我的程序处理打开、读取和关闭注册表项。我假设我正在打开并读取密钥(因为没有无效值、消息框或我已实现的任何其他错误查找方法出现)。

但是,当我调试我的程序时,我得到“...指定了无效的句柄...”(包括内存地址)。我尝试过使用调试器单步执行代码,但我很有趣,无法跟上进度。

发生错误的代码部分是:

(scsiPortNum 是 char[2],只是端口号)

就像我说的,我没有收到任何打开的错误/消息框,但我正在关闭......如果有人能指出我哪里出错了,我将不胜感激!:)

更新: 根据下面 luskan 的回答,我更改了我的代码,从而更接近了这个问题。代码结构现在看起来像这样:

我现在收到关于打开密钥的消息......也许我误解了 RegOpenKeyEx 的论点?还是我没有正确初始化某些东西?

0 投票
2 回答
183 浏览

c - 如何使用 C 从注册表中读取存储在键中的值

您好我正在尝试使用 C 代码读取存储在注册表项中的值。我试过下面的代码。它不会产生任何编译错误。但我只得到字符串的第一个字母作为输出。这是我的代码示例

如果有人有想法,请帮助我

0 投票
1 回答
352 浏览

c# - 只能在上一级删除注册表项吗?

在我们的应用程序中,我们有不同的组件,并且注册表项将在组件名称中创建。

例如。

我们有一个名为 Notification 的组件,我们的注册表项如下

现在我想删除这个键和所有的子键。

我试图完全删除这个 rKeyNotification。但我找不到任何办法。

我正在尝试如下。

但是这件作品会寻找 RegistryKey rKeyNotification =Registry.LocalMachine.OpenSubKey("SOFTWARE\\CompanyName\\ProdName\\Notification\\Notification");

没有像rKeyNotification.DeleteSubKeyTree()

我应该总是上一级(Registry.LocalMachine.OpenSubKey("SOFTWARE\\CompanyName\\ProdName)然后只删除密钥吗?

0 投票
1 回答
372 浏览

key - 如何在 Windows 服务器上正确注册注册表项?

你好,我会解释我的问题。在安装过程中,我尝试在以下路径中注册一个新的注册表项:

但是一旦我分析结果,我的关键就在这里!

为什么?我不明白..提前谢谢你的回答^ ^

0 投票
2 回答
2031 浏览

c# - 非管理员用户的远程注册表访问被拒绝

我正在尝试使用已获得远程计算机上注册表项访问权限的非管理员用户打开远程注册表项。

我正进入(状态

不允许请求的注册表访问。在 System.ThrowHelper.ThrowSecurityException(ExceptionResource 资源) 在 Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable) 在 Microsoft.Win32.RegistryKey.OpenSubKey(String name) 在 RemoteRegistry.Program.Main(String[] args)

非管理员用户是否可以从任何其他机器远程访问 HKLM 配置单元?另一方面,对于管理员用户,它工作正常。

所有其他蜂巢都可以访问,上述行不会导致任何异常。

任何指针可能是什么问题。

0 投票
7 回答
18569 浏览

c# - C# 注册表 SetValue 抛出 UnauthorizedAccessException

在您尝试用“快速 Google 搜索”来回答这个问题之前。我想指出我已经这样做了。这是这种情况,我有以下方法尝试修改注册表项值。我遇到的问题是,在执行时,即使我已将密钥打开为 writeable ,它也会引发 UnauthorizedAccessException 。我以管理员身份运行 Visual Studio,甚至尝试制作一个带有清单文件的小型 .exe,强制它以管理员身份运行,这将不走运地执行代码。密钥已经存在,它不会尝试进入 CreateKey 方法。这是代码块。

我是否必须手动遍历注册表树,将每个 OpenSubKey 调用设置为可写?我也试过这个,仍然抛出同样的错误......

0 投票
1 回答
130 浏览

visual-c++ - 从 32 位到 64 位

规格:VC++ 7;程序在 XP 上运行,但在 Win7 上崩溃;使用 VS2003.NET 开发(老我知道,但这是我必须使用的,它工作得很好,非常感谢你)

我有一个在 XP(32 位)上运行良好的程序。但是,我最近用 Win7 对其进行了测试,各种杂乱无章。我强烈怀疑我的程序如何处理注册表项。

注意:该程序不会创建或销毁密钥,只会查询密钥并返回有趣的值。(“有趣”如下所述)

在最简单的形式中,程序从 SCSI 连接设备读取数据,并将数据保存到主机 PC 上的文件中。该程序查询 SCSI 适配器的注册表并返回程序用来访问设备的适配器 ID。

对我来说,注册表结构似乎没有从 XP 更改为 Win7,但不是 100% 确定。对此的任何见解都会很棒:)

另外,我在: http ://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm读到Win7 做事的方式就像一种反射。这会改变我应该如何查询密钥吗?如果是这样,任何有关如何构造查询的信息都会很棒。

我想我需要知道的是:

  • 是否像在 RegQueryValueEx 方法中更改 hKey(或 lpValueName)一样简单?
  • 或者这是否意味着我需要更改 RegQueryValueEx 方法的其他方面?
  • 还是完全不同的东西?

先感谢您!

0 投票
3 回答
1382 浏览

c# - 将密钥添加到注册表进入与指定不同的文件夹

我正在尝试在注册表中的卸载条目中创建一个键,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall但是当我运行代码时,它会在其中创建它HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wow6432Node\Microsoft\Windows\CurrentVersion,我不明白它可能从哪里获取此路径。

下面是我正在使用的代码

感谢您的任何帮助,您可以提供。