Tag: 注册表

如何创建Windows注册表观察程序?

如何使用.Net创建Windows注册表观察程序应用程序, 我希望此应用程序在值更改时观察所有注册表挂钩并触发事件,此事件将告知该值的旧值和新值。 那可能吗? 怎么样? 只需要想法或从哪里开始

如何在C#中捕获Shell命令输出?

摘要: 查询远程机器上的注册表 捕获要在应用程序中使用的输出 需要在csharp 到目前为止,所有使用的方法只能在本地机器上查询 任何希望都非常感激 完整问题: 我需要找到一种在csharp中运行命令行命令并捕获其输出的方法。 我知道如何在Perl中执行此操作,下面是我将在Perl中使用的代码。 #machine to check my $pc = $_[0]; #create location of registry query my $machine = “\\\\”.$pc.”\\HKEY_USERS”; #run registry query my @regQuery= `REG QUERY $machine`; 有关如何在csharp中执行此操作的任何建议都将受到欢迎。 到目前为止,我已经尝试使用RegistryKey OurKey = Registry.Users方法,它工作得很好但我无法在远程计算机上查询注册表。 如果您需要更多信息,请与我们联系。 解决方案:(谢谢@Robaticus) private void reg(string host) { string build = “QUERY \\\\” + host + “\\HKEY_USERS”; string […]

编辑其他用户的注册表项

如何更改或编辑当前用户以外的其他用户的注册表值? 我知道其他用户的凭据。

如何读取远程注册表项?

我需要能够从远程计算机列表中读取特定注册表项中的值。 我可以使用以下代码在本地执行此操作 using Microsoft.Win32; RegistryKey rkey = Registry.LocalMachine; RegistryKey rkeySoftware=rkey.OpenSubKey(“Software”); RegistryKey rkeyVendor = rkeySoftware.OpenSubKey(“VendorName”); RegistryKey rkeyVersions = rkeyVendor.OpenSubKey(“Versions”); String[] ValueNames = rkeyVersions.GetValueNames(); foreach (string name in ValueNames) { MessageBox.Show(name + “: ” + rkeyVersions.GetValue(name).ToString()); } 但我不知道如何获得远程计算机的相同信息。 我甚至使用正确的方法,还是应该关注WMI或其他什么?

.NET 3.5中的RegistryKey.OpenBaseKey有哪些替代方法?

我一直在使用安装程序包并使用RegistryKey.OpenBaseKey来处理自定义操作,这些操作可以打开和从64位注册表添加/删除密钥或从MSI包中删除32位注册表,但这需要我在运行我的安装程序之前,使用引导程序或其他东西在目标计算机上安装.NET Framework 4,因为OpenBaseKey仅在.NET Framework 4中引入。理想情况下,我想仅针对.NET Framework 3.5并且仍然能够修改OpenBaseKey中的64位或32位注册表配置单元; 然后我不需要.NET 4和安装它的开销。 对于那些不想让.NET 4成为先决条件的人来说, OpenBaseKey还有其他选择吗? 可能是像P /调用某种WinAPI方法这样的东西吗? 我不确定它会采取什么措施。

如何在注册表中更改文件类型关联?

第一次在StackOverflow中发帖。 :D我需要我的软件在注册表中添加一些东西。 我的程序将使用 Process.Start(@”blblabla.smc”); 启动文件,但问题是用户很可能没有将程序设置为特定文件扩展名的默认应用程序。 如何将文件关联添加到WindowsRegistry?

如何将凭据传递给计算机,以便我可以使用Microsoft.Win32.RegistryKey.OpenRemoteBaseKey()?

如果我尝试在与我在同一域中的计算机中打开注册表(并且我的登录用户在目标计算机上具有管理员权限),则此.NET API可以正常工作。 如果它是一个具有不同的本地管理用户(我有密码)的域外机器,那就太棘手了。 在调用OpenRemoteBaseKey()之前,我尝试使用WNetUseConnection() (过去在我想要读取远程磁盘文件的情况下很好用),但没有骰子 – 我得到访问被拒绝的exception。 显然,我必须以其他方式传递证书,但如何?

文件类型与应用程序的关联(C#)

我有几个相关的问题: 1)是否可以使我的程序更改文件类型关联但仅在运行时? 你觉得这个行为有什么问题吗? 2)我看到的另一个选项是让用户决定使用我的应用程序打开或恢复默认关联…类似于:“捕获所有.lala文件”或“恢复.lala关联”。 我怎样才能做到这一点? 您认为这是最好的方法?

避免使用注册表Wow6432Node重定向

我试图在c#中使用Microsoft.Win32.RegistryKey插入一些简单的注册表项,但路径会自动更改为: HKEY_LOCAL_MACHINE\SOFTWARE\Test 至 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Test 我试过谷歌,但我只得到一些模糊和混乱的结果。 有没有人以前处理过这个问题? 一些示例代码将得到很多赞赏。

Registry Watcher C#

我是WMI的新手,我需要在C#服务中实现RegistryValueChangeEvent 。 我需要一个事件处理程序,每次更改一组注册表值时都会触发该事件处理程序。 我想要的行为类似于FileSystemWatcher类的Changed事件,但是对于注册表值。 如果我可以使用其他一些技术来完成相同的任务,我也会很感激。 我的最低要求是它比我现在的解决方案更好:每20秒轮询一次,并将注册表值与最后结果进行比较。 请在答案中提供示例代码。 如果我只能看一个注册表值的示例,那就没问题了。 我需要一个.Net 2.0的解决方案 谢谢。