我在C#上有点新手,我实际上正在寻找的是我的C#Form在te背景上运行,例如按“F12”,输出就是屏幕上的字符串。
我希望我的问题很清楚。
提前致谢。
答案 0 :(得分:1)
您需要在表单上为按键创建一个事件,请在此处查看:http://www.dotnetperls.com/keycode
一旦你创建了那个事件,你要放入它的代码就像这样:
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F12)
{
//DisplayText, Asuming you have a textbox do something like this:
txtBox1.Text = "Hello World!";
}
}
答案 1 :(得分:1)
根据您的评论,您所寻找的是全球关键钩,
这需要一段时间才能写出答案,而且我很难做,因为我不知道您的应用程序的构成。但是,所需的大部分代码都在这里:http://blogs.msdn.com/b/toub/archive/2006/05/03/589423.aspx
您需要将它实现到您的应用程序中,我将使用它的方式: 屏幕上有一个运行按钮,当用户点击它时会将程序最小化到任务栏,然后启动KeyHooks。
告诉Keyhook听F12键。
我会在按下该键后使用SendKeys.Send将文本发送到焦点窗口:http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.send(v=vs.110).aspx
因此,您可以使用表单中的文本框填充sendkeys:
SendKeys.Send(txtTextboxA.Text);
或者你可以每次使用SendKeys字符发送相同的东西
SendKeys.Send("I am going to be sent");
Keyhooks需要一段时间来解决问题,但一旦设置它就像一个魅力,我建议你去看看,然后如果你遇到问题,请提出一个新问题:)。
编辑 - 添加了更多KeyHook参考
还有一些代码项目可以帮助您更好地学习:
http://www.codeproject.com/Articles/19004/A-Simple-C-Global-Low-Level-Keyboard-Hook