簡體   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