【发布时间】:2010-10-14 15:19:39
【问题描述】:
问题是我有一些充当键盘的 HID 设备(MSR、条形码扫描仪、RFID 阅读器),我希望能够在我的 WPF 应用程序中读取它们的输入,而不必在说这种情况下发生这种情况应用程序中的文本字段。
是否可以在 WPF 应用程序中从 STDIN 读取。
调用 Console.ReadLine() 每次都返回 null。
【问题讨论】:
问题是我有一些充当键盘的 HID 设备(MSR、条形码扫描仪、RFID 阅读器),我希望能够在我的 WPF 应用程序中读取它们的输入,而不必在说这种情况下发生这种情况应用程序中的文本字段。
是否可以在 WPF 应用程序中从 STDIN 读取。
调用 Console.ReadLine() 每次都返回 null。
【问题讨论】:
您将需要一个控制台。两条路线:
将应用程序类型设为控制台应用程序(控制台应用程序也可以有窗口)。这将确保 Windows 在启动时创建一个控制台(如果父级有控制台,它将在父级控制台内运行)。
使用 P/Invoke 呼叫 AllocConsole。这样做的好处是您的应用程序 (1) 永远不会继承父进程的控制台,并且 (2) 应用程序逻辑可以确定是否以及何时创建它。
【讨论】: