繁体   English   中英

如何按键执行字符串(F12)?

[英]How to execute a string by key (F12)?

我在C#上有点新手,我实际上正在寻找的是我的C#Form在te背景上运行,例如按“F12”,输出是屏幕上的字符串。

我希望我的问题很清楚。

提前致谢。

您需要在密钥表单的表单上创建一个事件,请查看此处: 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!";
        }
    }

根据您的评论,您正在寻找的是Global Key Hook,

这需要一段时间才能写出答案,而且我很难做到,因为我不知道您的应用程序的组成。 但是,所需的大部分代码都在这里: 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM