0
任何一個可以指導我如何發送功能鍵(F1 - F11)通過串口:發送功能鍵()
string read_line;
read_line = Console.ReadLine();
SerPort.WriteLine(read_line);
任何一個可以指導我如何發送功能鍵(F1 - F11)通過串口:發送功能鍵()
string read_line;
read_line = Console.ReadLine();
SerPort.WriteLine(read_line);
有發送的無標準方式功能鍵到串口。您需要爲鍵(字符串或字節)定義您自己的ID,並根據用戶的當前選擇進行填充併發送。在串口的另一端,無論是監聽還是閱讀,都應該知道如何處理輸入 - 這將是您自己的通信接口。
功能鍵是特殊鍵,所以你需要使用Console.ReadKey而不是的ReadLine。一個可能的解決辦法是這樣的:
var key = Console.ReadKey(true);
string keyInfo = string.Empty;
byte keyInfoId = 0;
switch (key.Key)
{
case ConsoleKey.F3: Console.WriteLine("F3 hit ...");
keyInfo = "F3";
keyInfoId = 0x3;
break;
case ConsoleKey.F5: Console.WriteLine("F5 hit ...");
keyInfo = "F5";
keyInfoId = 0x5;
break;
// ...
default: Console.WriteLine("Not a function key"); break;
}
using (var serialPort = new SerialPort())
{
serialPort.Open();
serialPort.WriteLine(keyInfo);
serialPort.Write(new byte[] { keyInfoId }, 0, 1);
serialPort.Close();
}
可以使用SerialPort.Write or SerialPort.WriteLine發送信息到串行端口。