我正在开发一个简单的程序,读取卡或条形码并将其logging到数据库中。 之前,我在Visual Basic中开发了相同的应用程序,工作效果很好,但由于我们的服务器发生了很多变化,我们决定在C#中开发这个应用程序。
我可以让我的应用程序开始与Windows将其快捷方式启动菜单上的“启动”,但问题是,它没有得到重点,使卡和条形码可以阅读,这样我的程序是无用的。 我们使用的机器正在运行Windows XP和Windows 7。
在Windows启动时启动我的应用程序的最佳方法是什么,并保持它的焦点?
总的来说,这是一个非常糟糕的设计。 我刚刚完成了一个涉及条形码阅读器的项目,并将它们设置为串行端口,而不是键盘。 你应该检查这是否是你的硬件的一个选项,因为最终的结果会更可靠。
这就是说,你可以在你的窗体中创建一个计时器来执行this.Focus()
和this.BringToFront()
来窃取焦点。 请注意,默认情况下,这只会导致任务栏闪烁。 您需要使用TweakUI来启用焦点窃取功能。
这里讨论另一个选项。 实际上非常类似的问题。 基本上,你把键盘输入挂在低水平。
请尝试找到另一种方式,监视系统事件或使用轮询机制。
应该避免偷窃的重点, 阅读这个理解为什么
如果我每次输入密码都有一美元,那么错误的应用程序中的明文会偷走焦点。
在窗体激活的事件调用This.SentToBack()