Tag: 注册表

在Windows应用程序中实现VLC播放器:以编程方式注册ActiveX组件

我使用以下指南在我的Windows应用程序中实现VLC播放器: http://www.codeproject.com/Questions/163016/How-to-embed-VLC-control-in-c-net-windows-applicat (见评价最高的答案) 在指南的第2步,它说我必须注册ActiveX组件: regsvr32 “D:\Program Files\VideoLAN\VLC\axvlc.dll” 如何在软件中以编程方式执行此操作,以便用户不必执行此操作? 我不确定如何在这里继续。 谁能帮我?

在本地获取Chrome和Firefox版本,C#

我只是使用常规的C#而不是ASP.NET。 我想知道我是否可以获得Chrome和Firefox的版本。 我知道IE可以通过注册表获得版本。 据我所知,Chrome和Firefox不会将这些信息存储在注册表中。 提前致谢。

如何在TrustedInstaller中编写自己的注册表项

为了将新的属性页安装到Active Directory SnapIn中,我需要写入W2K8 R2的以下注册表项( 如Microsoft所述 ) HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ MMC \ SnapIns {E355E538-1C2E-11D0-8C37-00C04FD8FE93} \ NodeTypes 此密钥由名为TrustedInstaller的特殊用户拥有。 我在NET arround上发现了很多东西。 目前,这是它的工作方式,执行以下操作(用户是管理员组的成员): 我授予用户获得所有权的权限。 用户取得所有权 用户编写注册表 用户授予管理员组的所有权。 我的项目完全用C#编写,有两件事我不喜欢这样做。 我使用InteropServices来调用Win32 AdjustTokenPrivileges API。 有没有人知道在纯C#中这样做的方法? 最后,TrustedInstaller不再是密钥的所有者,而且我无法给予他所有权,他保持完全控制权,但我不希望我的服务器在安装我的管理单元后被归类为已损坏。 所以我的问题是:我是否遗漏了某些东西,是否有记录的方法来修改这样一个被记录为可修改的密钥? 存在一个Stack溢出问题 ,答案说TrustedInstaller所有权,意味着密钥是系统安装的一部分而不是应用程序安装。 对我来说,如果Microsoft记录了如何修改它的应用程序安装的密钥。 提前致谢。

RegAsm regfile开关没有提供与codebase开关相同的输出

好吧,我知道这是非常具体的,但我在整个工作日都失去了它所以我真的需要一些合理的解释,所以我的老板和我的妻子不会解雇我 根据MSDN: /regfile开关“为程序集生成指定的.reg文件” /codebase开关“在注册表中创建一个Codebase条目,指定程序集的文件路径” 我猜这是做同样事情的两种不同方式。 事实是,我错了: 方法1 C:\>”C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe” “C:\SERVER.dll” /regfile Registry script ‘C:\SERVER.reg’ generated successfully Reg文件输出: REGEDIT4 [HKEY_CLASSES_ROOT\xfeed.server.X] @=”SERVER.XLS” [HKEY_CLASSES_ROOT\xfeed.server.X\CLSID] @=”{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}” [HKEY_CLASSES_ROOT\CLSID\{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}] @=”SERVER.XLS” [HKEY_CLASSES_ROOT\CLSID\{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}\InprocServer32] @=”mscoree.dll” “ThreadingModel”=”Both” “Class”=”SERVER.XLS” “Assembly”=”SERVER, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6e3de07ee666a5f5” “RuntimeVersion”=”v2.0.50727” [HKEY_CLASSES_ROOT\CLSID\{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}\InprocServer32\1.0.0.0] “Class”=”SERVER.XLS” “Assembly”=”SERVER, Version=1.0.0.0, Culture=neutral, PublicKeyToken=6e3de07ee666a5f5” “RuntimeVersion”=”v2.0.50727″ [HKEY_CLASSES_ROOT\CLSID\{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}\ProgId] @=”xfeed.server.X” [HKEY_CLASSES_ROOT\CLSID\{8F4A5B5E-8DD7-30A3-993F-18C7E2C457CF}\Implemented Categories\ {62C8FE65-4EBB-45E7-B440-6E39B2CDBF29}] 方法2 但是当我直接执行codebase switch命令而不是使用reg文件时,在regsitry中受影响的密钥是不同的(并且工作,与前面的输出相反) C:\>”C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe” “C:\SERVER.dll” /codebase Types registered successfully 注册表ouptut与代码库: Windows […]

当我要更新值时,拒绝访问注册表项

我想编辑名为“usbstor”值的注册表项,这是我在更新方法中的代码 try { string path = baseRegistryKey + “\\” + SubKey; Registry.SetValue(path, KeyName, KeyValue, RegistryValueKind.DWord); return true; } catch (Exception e) { // AAAAAAAAAAARGH, an error! ShowErrorMessage(e, “Writing registry ” + KeyName.ToUpper()); return false; } 和path =“HKEY_LOCAL_MACHINE \ system \ currentControlset \ services \ usbstor”keyname =“start”当我运行代码时,我将获得“访问注册表项’HKEY_LOCAL_MACHINE \ system \ currentControlset \ services \ usbstor’被拒绝”是什么万阿英,蒋达清?

以编程方式更改IE设置

我正在尝试制作一个Windows应用程序,它也是IE的“可信站点”。 这部分有效。 解决方案 – http://www.nakov.com/blog/2009/05/15/c-code-for-changing-internet-explorer-security-settings-and-net-security-policy-to-run-windows-基于表单的ActiveX与-完全信任/ 但我也需要更改相同的设置。 我需要这个:“跨域访问数据源”需要“启用”“下载未签名的ActiveX控件”需要“提示”“初始化和脚本未标记为安全的ActiveX控件”需要“启用” 这就是我所拥有的,但它不起作用 private void UpdateDataSource() { RegistryKey ChangeSettings = Registry.Users; ChangeSettings = ChangeSettings.OpenSubKey(“.DEFAULT\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings\\Zones\\2”, true); // “Access data sources across domains” – “Enable” ChangeSettings.SetValue(“1406”, “0”, RegistryValueKind.DWord); // “Download unsigned ActiveX controls” – “Prompt” ChangeSettings.SetValue(“1004”, “1”, RegistryValueKind.DWord); // “Initialize and script ActiveX controls not marked as safe for scripting” – […]

C#在Registry Local Machine中创建值

以下代码对我不起作用: public bool createRegistry() { if (!registryExists()) { Microsoft.Win32.Registry.LocalMachine.CreateSubKey(“Software\\xelo\\”); Microsoft.Win32.Registry.LocalMachine.OpenSubKey(“Software\\xelo”).SetValue(“hostname”, (string)hostname, Microsoft.Win32.RegistryValueKind.String); return true; } else { return updateRegistry(); } } 例外: System.UnauthorizedAccessException | “无法写入注册表项”

在C#中读取注册表时的奇怪行为

可能重复: C#WOW6432注册表节点搞乱了 这是代码: var b1 = Registry.LocalMachine.OpenSubKey(“software”, true); var b2 = Registry.LocalMachine.OpenSubKey(“software”, true).OpenSubKey(“company”); var r1 = Registry.LocalMachine.OpenSubKey(“software”).OpenSubKey(“company”).GetValueNames(); string resultString = Registry.LocalMachine.OpenSubKey(“Software”, true).CreateSubKey(“company”).GetValue(name).ToString(); 我用name = “ApplicationDirectory”调用它。 在最后一行,前两个变量指向正确的位置(基于其Name属性)。 问题在于r1 ,它不列出HKEY_LOCAL_MACHINE\SOFTWARE\company的内容,而是列出HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\company 。 为什么是这样? 这是64位机器中的一些重定向吗?

使用域(远程计算机上)的本地凭据访问远程注册表

标题有点长,但我会尝试解释:我正在尝试从一台机器(连接到一个域)连接到另一台机器,该机器也连接到一个域但丢失了kerberos的supportedencryptiontypes 。 路径:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ kerberos \ parameters 基本上,当此值发生变化时,域管理员无法管理此计算机或访问它,就好像此计算机不再位于域中一样。 但当我将此值更改为正确的值(当我与本地管理员用户本地连接)时,我获得了完整的管理权限,似乎一切都很好,再次花花公子。 基本上我正在尝试做的是远程更改此值,这意味着使用它自己的本地管理员凭据连接到计算机的注册表并更改值。 我没有发布任何代码ATM,因为我没有,除了使用当前登录的用户凭据远程访问注册表的正常方式。 如果需要,将发布此代码。

安装应用程序C#时注册表更改

即将尝试使用visual studio首次为应用程序制作安装包。 我有一个注册表值,需要在安装程序时更改我需要程序每次启动计算机时启动。 这是一项相当简单的任务吗? 有人会指点我尝试实现这一目标。 到目前为止,我只是拥有应用程序的表单等。