草庐IT

注册表修改

全部标签

c# - 使用单个接口(interface)注册多个实现

有没有一种方法可以在不使用模板接口(interface)的情况下使用[simple-injector]注册由多个具体类实现的单个接口(interface)?假设我们有2个类MyClass1和Myclass2并且这两个类都实现了IInterface1现在使用[simple-injector]我们无法做到这一点container.Register();container.Register();将现有界面转换为模板界面在现有代码库上是一项艰巨的工作。希望那里有一些更简单的东西。 最佳答案 您可以使用RegisterCollection方法

c# - 如何创建 Windows 注册表观察器?

如何使用.Net创建Windows注册表观察器应用程序,我希望此应用程序监视所有注册表Hook并在值更改时触发事件,此事件将告知该值的旧值和新值。这可能吗?如何?只需要想法或从哪里开始 最佳答案 看看RegistryMonitor-a.NETwrapperclassforRegNotifyChangeKeyValue. 关于c#-如何创建Windows注册表观察器?,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

c# - 使用 C# 向 Active Directory 注册更改通知

此链接http://msdn.microsoft.com/en-us/library/aa772153(VS.85).aspx说:您最多可以在单个LDAP连接上注册五个通知请求。您必须有一个专用线程来等待通知并快速处理它们。当您调用ldap_search_ext函数来注册通知请求时,该函数会返回标识该请求的消息标识符。然后使用ldap_result函数等待更改通知。发生更改时,服务器会向您发送一条LDAP消息,其中包含生成通知的通知请求的消息标识符。这会导致ldap_result函数返回标识更改对象的搜索结果。我在.NET文档中找不到类似的行为。如果有人知道如何在C#中做到这一点,我将

c# - Entity Framework 不更新由触发器修改的值

我的表Sections(SQLServer)有ID作为主键(int,identity)和SortIndexcolumn(int)用于排序目的。数据库有一个触发器,它在每个INSERT处设置SortIndex:=ID。显然我想稍后通过交换两行的值来更改排序索引。我使用EntityFramework访问数据,所有这些都使用MVC3网络应用程序。问题是,在我向表中插入一个新对象后,EntityFramework不会更新SortIndex的值。它还缓存了所有数据,因此以下从该表中获取所有对象的调用也将为该对象提供错误的SortIndex值。我尝试更改EDMX中此列的StoreGenerated

C# 在 64 位操作系统上读取错误的注册表数据

我在64位Windows上工作,我的应用程序以提升的权限运行。我对以下非常简单的代码有疑问:myKey=Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");if(myKey!=null){string[]HKLMvaluenames=myKey.GetValueNames();}但由于某些原因,HKLMvaluenames数组填充了来自以下键的值:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\Curren

c# - 如何更新在 DbContext 之外修改的实体?

如果实体在DbContext之外更改(是一个分离的实体),我在更新实体时会遇到一个小问题。如果我附加修改后的实体,它的状态不会被修改。我的代码是这样的:varspecificationToSave=GetSpecificationFromTmpStore(userSessionGuid);using(varcontext=DataContextFactory.GetDataContext()){//thisworksforupdate,ifIchangethevaluesinsidethecontextwhiledebugging//butitbreakswithnewentities

C# 访问 64 位注册表

我想知道是否可以在64位电脑上使用C#访问以下注册表项。HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run在32位电脑上访问时它工作正常,但在64位电脑上它重新定向到具有不同key的HKLM\SOFTWARE\Wow6432Node的native64位路径。我已经浏览了有关此的各种文章,但无法真正找到关于如何在C#中访问64位pc中的32位key的明确答案。谢谢。 最佳答案 如果您的目标是.NetFramework4.0或更高版本,那么您可以通过传递RegistryView.Regi

c# - 修改已编译的.Net Exe

我有一个用C#编写的应用程序(当然没有源代码),需要稍微更改一下。例如,我需要停止创建不必要菜单的几行代码。所以我认为我应该将它们注释掉。源代码没有混淆。我知道我可以使用Reflector/Reflexil等工具完全反编译、更改和再次编译。但是谁都知道这样做,很多代码都不能再编译了!Reflector(或任何其他产品)中是否有一种方法可以在没有此过程的情况下禁用/更改其中的一部分?谢谢。 最佳答案 您可能想试试dnSpy。它是从ILSpy派生的.NET程序集编辑器、反编译器和调试器。https://github.com/0xd4d/

c# - 有没有办法在 VB.NET 中知道是否已为事件注册了处理程序?

在C#中我可以测试这个...publiceventEventHandlerTrigger;protectedvoidOnTrigger(EventArgse){if(Trigger!=null)Trigger(this,e);}有没有办法在VB.NET中做到这一点?我的意思是测试null?更多信息忘记说了。我有用C#编写的类(class),但我正在用VB.NET编写单元测试。我正在单元测试中尝试这个...IfmyObject.TriggerIsNotNothingThen''#dosomethingEndIf这会导致编译时错误,提示...“公共(public)事件触发器是一个事件,不能

c# - 在注册表中保存文本框值

我需要一些关于在注册表中读取/写入/保存值的指导。我对在注册表中保存内容的概念很陌生我有一个Winform,我必须在其中读取/写入App.config文件并使用winform更改用户名和密码。在我的winform中,我有2个文本框,当我输入值并点击提交时,它会更改中的值app.config.I以某种方式做到了,没有问题。现在我需要将我在文本框中输入的所有值发送到注册表并保存它们,我也应该能够读取它们。我应该怎么做? 最佳答案 使用Microsoft.Win32;写:Registry.SetValue(@"HKEY_LOCAL_MAC