tft每日頭條

 > 圖文

 > 按鍵用c語言制作

按鍵用c語言制作

圖文 更新时间:2024-12-12 22:44:56

按鍵用c語言制作(模拟鍵盤按鍵的三種方式實現)1

1.System.Windows.Forms.SendKeys

使用 SendKeys 将鍵擊和組合鍵擊發送到活動應用程序。此類無法實例化。若要發送一個鍵擊給某個類并立即繼續程序流,請使用 Send。若要等待鍵擊啟動的任何進程,請使用 SendWait。

每個鍵都由一個或多個字符表示。若要指定單個鍵盤字符,請使用該字符本身。例如,若要表示字母 A,請将字符串“A”傳遞給方法。若要表示多個字符,請将各個附加字符追加到它之前的字符的後面。若要表示字母 A、B 和 C,請将參數指定為“ABC”。

加号 ( )、插入符号 (^)、百分号 (%)、波浪号 (~) 以及圓括号 ( ) 對 SendKeys 具有特殊含義。若要指定這些字符中的某個字符,請将其放在大括号 ({}) 内。例如,若要指定加号,請使用“{ }”。若要指定大括号字符,請使用“{{}”和“{}}”。中括号 ([ ]) 對 SendKeys 沒有特殊含義,

但必須将它們放在大括号内。在其他應用程序中,中括号具有特殊含義,此含義可能會在發生動态數據交換 (DDE) 時起重要作用。

模拟按鍵:B

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

SendKeys.Send("{B}");

}

模拟組合鍵:CTRL B

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

SendKeys.Send("^{B}");

}

2.keybd_event

DLL引用

[DllImport("user32.dll", EntryPoint = "keybd_event", SetLastError = true)]

public static extern void keybd_event(Keys bVk, byte bScan, uint dwFlags, uint dwExtraInfo);

模拟按鍵:B

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

keybd_event(Keys.B, 0, 0, 0);

}

3.PostMessage

上面兩種方式都是全局範圍呢,現在介紹如何對單個窗口進行模拟按鍵

模拟按鍵:A / 兩次

[DllImport("user32.dll", EntryPoint = "PostMessageA", SetLastError = true)]

public static extern int PostMessage(IntPtr hWnd, int Msg, Keys wParam, int lParam);

private void button1_Click(object sender, EventArgs e)

{

textBox1.Focus();

PostMessage(textBox1.Handle, 256, Keys.A, 2);

}

更多C#和工業控制的更新内容,請添加關注@工控上位機 。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved