Tag: C#的

如何区分C#中的多个input设备

我有一个条形码扫描器(就像一个键盘),当然我也有一个键盘连接到电脑。 该软件正在接受来自扫描仪和键盘的input。 我只需要接受扫描仪的input。 代码是用C#编写的。 有没有办法“禁用”从键盘input,只接受来自扫描仪的input? 注:键盘是笔记本电脑的一部分…所以不能拔掉。 此外,我试着把下面的代码保护重写布尔ProcessDialogKey(System.Windows.Forms.Keys keyData){返回true; }但是,随着忽略键盘上的按键,条形码扫描仪input也被忽略。 我不能让扫描仪发送正面字符,扫描仪正在被其他应用程序使用,添加正面字符stream将意味着修改其他代码。 另外,由于扫描的条形码可能是单字符条形码,因此我不能使用计时方法来确定input是否来自条形码扫描仪(如果是一串字符后跟暂停)。 是的,我正在读取stream中的数据。 我试图按照文章:在WinForms的键盘区分条码扫描仪。 不过,我有以下问题: 由于其保护级别,我收到一个错误,NativeMethods无法访问。 好像我需要导入一个dll; 它是否正确? 如果是这样,我该怎么做? 我应该使用哪个保护覆盖void WndProc(ref Message m)定义,文章中有两个实现? 获取与[SecurityPermission(SecurityAction.LinkDemand,Flags = SecurityPermissionFlag.UnmanagedCode)]错误相关的错误CS0246:无法findtypes或名称空间名称“SecurityPermission”(缺lessusing指令或程序集引用吗? 我该如何解决这个错误? 包含以下内容的行也有错误:if((从hardwareIds中的hardwareId中,deviceName.Contains(hardwareId)selecthardwareId).Count()> 0)错误是错误CS1026:)。 我应该把文章中的所有代码放在一个名为BarcodeScannerListener.cs的.cs文件中吗? Nicholas Piasecki在http://nicholas.piasecki.name/blog/2009/02/distinguishing-barcode-scanners-from-the-keyboard-in-winforms/上发布的有关C#解决scheme源代码的后续问题: 我无法在VS 2005中打开解决scheme,因此我下载了Visual C#2008 Express Edition,并且运行了代码。 然而,连接我的条形码扫描器和扫描条形码后,程序不能识别扫描。 我在OnBarcodeScanned方法中放了一个断点,但是它从来没有被打中。 我确实使用设备pipe理器获取的条码扫描器的ID来更改App.config。 似乎有2个devicename与HID#Vid_0536&Pid_01c1(从扫描仪连接时从设备pipe理器获得)。 我不知道这是否导致扫描不起作用。 遍历deviceNames时,下面是我find的设备列表(使用debugging器): “\ ?? \ HID#Vid_0536&Pid_01c1&#MI_01 9 25ca5370&0&#0000 {4d1e55b2-F16F-11CF-88cb-001111000030}” “\ ?? \ HID#Vid_0536&Pid_01c1&#MI_00 9 38e10b9&0&#0000 […]

为什么解引用空指针是未定义的行为?

根据ISO C ++,取消引用空指针是未定义的行为。 我的好奇心是,为什么? 为什么标准决定宣布它未定义的行为? 这个决定背后的理由是什么? 编译器依赖? 似乎没有,因为根据C99标准,据我所知,这是明确的。 机器依赖? 有任何想法吗?

活动窗口上是否有Windows系统事件更改?

我正在开发的桌面应用程序需要知道在应用程序运行时哪些窗口处于活动状态。 目前它每250毫秒执行GetForegroundWindow()调用( user32.dll )。 这个方法不是很准确。 是否有任何Windows(WINAPI?)事件每次激活(聚焦)窗口更改时触发? 我想订阅我的callback函数。 谢谢。

条件variables – 为什么在调用pthread_cond_wait()之前调用pthread_cond_signal()是一个逻辑错误?

这是写在POSIX线程教程https://computing.llnl.gov/tutorials/pthreads/这是一个逻辑错误。 我的问题是为什么这是一个逻辑错误? 在我的程序中,我需要使用这些信号,但是我不能保证会有一个线程处于_cond_wait状态。 我试图testing它,没有任何反应。 这是否会导致意外的行为或更糟? 谢谢!

为什么我不能访问受C#保护的成员,除此之外?

此代码: abstract class C { protected abstract void F(D d); } class D : C { protected override void F(D d) { } void G(C c) { cF(this); } } 产生这个错误: 不能通过'C'types的限定符访问受保护成员'CF(D)'; 限定词必须是“D”型(或从中派生出来) 他们在想什么呢? (会改变这个规则打破了什么?)除了公开F吗? 编辑:我现在得到这是为什么的原因(感谢格雷格 ),但我仍然有点困惑的理性; 给定: class E : C { protected override void F(D d) { } } 为什么D不能够调用EF? 错误消息被编辑,所以我可能会在那里input一个错字。

模拟稳定的CPU负载和尖峰

我怎么能在C#中产生稳定的CPU负载,在一定的时间内低于100%? 我也想在一段时间后能够改变负载量。 您如何build议在很短的时间内产生使用率峰值?

实体typesApplicationUser不是当前上下文的模型的一部分

本文后面我将从Identity 1.0.0迁移到Identity 2.0.1 而生成的迁移代码与新的IdentityUser无关。 它不添加新的列。 于是我做了一个新的项目,再次尝试,但是迁移代码是空的。 为了解决这个问题,我直接在SQL Server中进行编辑,并在我的解决scheme中再次导入我的数据库。 现在我的AspNetUser与我的IdentityUser完全一样,如你所见 IdentityUser public virtual int AccessFailedCount { get; set; } public virtual ICollection<TClaim> Claims { get; } public virtual string Email { get; set; } public virtual bool EmailConfirmed { get; set; } public virtual TKey Id { get; set; } public virtual bool LockoutEnabled { get; […]

我们可以在C ++中重新分配参考吗?

我已经到处阅读,那么在那里和那里都必须初始化参考,不能再次重新初始化。 为了testing我的理解,我写了下面的小程序。 似乎我已经成功地重新分配了一个参考。 有人可以向我解释我的程序中究竟发生了什么? #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int main() { int i = 5, j = 9; int &ri = i; cout << " ri is : " << ri <<"\n"; i = 10; cout << " ri is : " << ri << "\n"; ri = j; // […]

在.net中写入CSV文件

我有一个要求将数据集导出为CSV文件。 我花了一段时间寻找一组规则,并且在编写CSV文件时意识到有相当多的规则和例外。 http://knab.ws/blog/index.php?/archives/3-CSV-file-parser-and-writer-in-C-Part-1.html http://bytes.com/topic/c- sharp / answers / 236875-problems-streamwriter-output-csv http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/0073fcbb-adab-40f0-b768-4bba803d3ccd 所以现在它不是一个用逗号分隔string的简单过程,我已经在.net框架中search了一个现有的CSV编写器,无论是第三方还是(希望!)。 编辑:新链接: http : //www.thinqlinq.com/Post.aspx/Title/LINQ-to-CSV-using-DynamicObject-and-TextFieldParser TextFieldParser是一个VB对象(可以从C#中引用)自动parsingCSV文件。 🙂 我想知道是否有人知道任何方便的.net(2.0 – > 3.5和4.0)库可用于生成一个正确格式的CSV文件。 另外,如果有任何生成CSV文件的规则集。 有很多的CSV阅读器和parsingCSV文件的细节,但不是很多关于写作(好吧,我知道它恰恰相反:P)。 http://www.codeproject.com/KB/database/CsvReader.aspx 任何帮助将不胜感激:) 我发现另一篇文章中有一些更详细的CSV规则: http : //www.creativyst.com/Doc/Articles/CSV/CSV01.htm 一个整洁的第三方库是Linq-to-CSV(不是框架库): http : //www.codeproject.com/KB/linq/LINQtoCSV.aspx 谢谢大家的帮助。 我已经决定,最好的解决scheme将是创build一个简单的静态类,将做特殊字符replace(克里斯提到)。 如果我需要Linq查询我的CSV文件,我会查看Linq-to-CSV的CodeProjects实现。 再次感谢 :)

读取方法属性的值

我需要能够从我的方法中读取我的属性的值,我该怎么做? [MyAttribute("Hello World")] public void MyMethod() { // Need to read the MyAttribute attribute and get its value }