草庐IT

键盘模拟

全部标签

c# - 唯一标识罗技统一键盘(在 C# 中)

我在C#2010中编写了一个小程序,它可以通过使用部分以下内容制作一组设备来拆分来自不同键盘的输入:--此代码适用于非统一键盘--InputDeviceid;NumberOfKeyboards=id.EnumerateDevices();id=newInputDevice(Handle);id.KeyPressed+=newInputDevice.DeviceEventHandler(m_KeyPressed);privatevoidm_KeyPressed(objectsender,InputDevice.KeyControlEventArgse){lbDescription.Tex

c# - 将键盘事件发送到 C# 中不处理 Windows 事件的另一个应用程序

这是我的情况:我们正在编写一个必须将MicrosoftKinect坐标转换为键盘和鼠标事件的应用程序。当我们需要控制鼠标时,在任何类型的应用程序中,一切都按照我们的预期进行。当我们需要将键盘事件(如按下或向上键)发送到不处理Windows事件的应用程序(例如游戏)时,就会出现问题。我们尝试了.net框架的SendKeys类,它只适用于Windows应用程序。当应用程序是像《半条命》或《毁灭战士》这样的游戏时,我们无法获得相同的效果。那么,这是我的问题:我们如何才能有效地将键盘事件发送到这些其他应用程序? 最佳答案 您需要使用Send

c# - 是否可以通过模拟/伪造来使丢失的锁导致测试失败?

我正在围绕Dictionary编写一个精简的包装器,该包装器设计为线程安全的。因此,需要一些锁,并且大部分逻辑都是围绕确保事物被正确锁定并以线程安全的方式访问。现在,我正在尝试对其进行单元测试。我想进行单元测试的一件大事是锁定行为,以确保它是正确的。但是,我从来没有在任何地方看到过这样做,所以我不确定该怎么做。另外,我知道我可以只使用一堆线程向墙上扔东西,但是对于这种类型的测试,不能保证它在出错时会失败。这取决于操作系统定义的线程调度行为。有哪些方法可以通过单元测试确保我的锁定行为是正确的? 最佳答案 锁定只是一个实现细节。您应该模

c# - 模拟 IRavenQueryable 并附加 Where() 表达式

我正在尝试为一个新的mvc3项目做一些基本的概念类型代码证明。我们将Moq与RavenDB结合使用。行动:publicActionResultIndex(stringid){varmodel=DocumentSession.Query().Where(f=>f.ResponsibleBusinessId==id);returnView(model);}测试:privatereadonlyFixture_fixture=newFixture();[Test]publicvoidIndex_Action_Returns_List_Of_FinancialTransactions_For_B

c# - 如何使用简单注入(inject)器模拟模块/安装程序/注册表

Autofac有模块,Windsor有Installers和StructureMapRegistries...使用SimpleInjector如何将配置逻辑打包到可重用的类中?我试过:publicinterfaceIModule{}publicclassFooModule:IModule{publicFooModule(SimpleInjector.Containercontainer){container.RegisterSingleton();container.RegisterSingleton();}}我在CompositionRoot中使用它:publicstaticvoid

c# - 如何使用 Moq 修改模拟方法的调用参数?

是否可以修改模拟方法的调用参数?特别是我希望改变buffer在以下示例中为预填充的字节数组。例子:intMockedClass.Read(byte[]buffer,intoffset,intcount)解释:打电话Read负载count从offset读取的字节数到提供的字节数组buffer.现在我想在调用Read之后填充缓冲区已在我的应用程序代码中完成。这可能吗?如果是,我将如何连续调用Read?如果可能的话,我希望连续调用每次都返回不同的缓冲区。编辑:使用Setup像这样的命令:MockedClass.Setup(x=>x.Read(It.IsAny(),It.IsAny(),It.

c# - 测试和模拟私有(private)/ protected 方法。许多帖子,但仍然无法使一个示例起作用

我看过很多关于“Mockingaprivatemethod”的帖子和问题,但仍然无法让它工作,也没有找到真正的答案。让我们忘记代码的味道,你不应该这样做等等......据我所知,我做了以下事情:1)创建了一个类库“MyMoqSamples”2)添加了对Moq和NUnit的引用3)编辑AssemblyInfo文件并添加[装配:InternalsVisibleTo(“DynamicProxyGenAssembly2”)][程序集:InternalsVisibleTo("MyMoqSamples")]4)现在需要测试一个私有(private)方法。因为它是一个私有(private)方法,所以

c# - 模拟 IEnumerable<T> 类型的 GetEnumerator() 方法

以下测试用例在rhino模拟中失败:[TestFixture]publicclassEnumeratorTest{[Test]publicvoidShould_be_able_to_use_enumerator_more_than_once(){varnumbers=MockRepository.GenerateStub();numbers.Stub(x=>x.GetEnumerator()).Return(newList{1,2,3}.GetEnumerator());varsut=newObjectThatUsesEnumerator();varcorrectResult=sut.

c# - 当我的应用程序在后台时监视 C# 中的键盘事件

首先我要声明我对键盘记录没有兴趣。当我的应用程序处于后台时,我需要一种方法来在最基本的级别上监视键盘事件。我不需要知道哪些键,我不需要保存任何数据,我根本不需要或不打算隐藏我的应用程序,我只需要知道什么时候按下键并调用一个方法。我正在寻找最简单的方法来做到这一点,我知道相当多的C#,但没有什么太复杂的,因为我的大部分知识都是自学的。我四处寻找一些合适的方法来做这件事,但没有发现任何有用的方法。我所发现的只是一群人在深度键盘记录器的论坛和源代码上说“不,那是非法的”。如果你们中的任何人能就实现这一目标的方法向我提出建议,我将不胜感激。 最佳答案

c# - .NET:HttpClient 使用我的接口(interface) IHttpClient 模拟它,但有一个内部对象为 NULL,它是密封的

不知道有没有人能帮忙。我已经创建了自己的IHttpClient,因此我可以使用最小起订量模拟HttpClient。工作得很好,但有一个名为DetaultRequestHeaders的内部对象,它有一个名为Authorization的属性。我在我的构造函数或我的类中设置它,它在注入(inject)的IHttpClient中接受,当然在运行时一切都按预期工作。但是使用单元测试我得到一个错误提示Objectreferencenotsettoinstance....这是因为DefaultRequestHeaders为空。现在在进一步调查之后,它似乎是HttpRequestHeaders但它是一