我有一個簡單的TCP/IP服務器Windows和客戶端Android。我怎樣才能將收到的文本發送到另一個應用程式,例如記事本或Excel單元格,任何帶有輸入欄位的視窗應用程式。在后臺接收資料
。 private void Events_DataRecieved(object sender, 讀取資料。 DataReceivedEventArgs e)。
{
var ipandPort = e.IpPort。
var data = Encoding.UTF8.GetString(e.Data)。
Console.WriteLine(data)。
發送(data)。
}
我試試這個
[]
public static extern bool SetForegroundWindow(IntPtr hWnd)。
public void Send(String data)
{
System.Diagnostics.Process[] p = System.Diagnostics.Process.GetProcessesByName("notepad"); //搜索行程notepad。
if (p.Length > 0) // check if window was found.
{
SetForegroundWindow(p[0].MainWindowHandle); //將記事本帶入前臺。
}
SendKeys.SendWait(data); //send key to notepad }
}
我怎樣才能在DataRecieved之后將文本發送到PC上運行的任何應用程式。像https://barcodetopc.com/這里。 謝謝你的幫助。
uj5u.com熱心網友回復:
據我所知,你正在使用SimpleTcp Nuget包。你可以使用一些第三方應用程式來控制資料交換。這些應用程式的例子是Hercules或Docklight。
你可以在Hercules中用你自己的IP地址和你指定的埠創建一個服務器。只需來到服務器選項卡,然后說Listen。
在C#應用程式中,你可以首先創建一個客戶端。
string IpAddress = "192.168.1.40"; //示例 Ip Address
string Port = "23";
public SimpleTcpClient tcpClient = new SimpleTcpClient(Ip, Convert. ToInt32(Port), false, null, null)。
tcpClient.Connect()。
if (tcpClient.IsConnected)
{
tcpClient.Events.DataReceived = Events_DataReceived。
tcpClient.Events.Connected = Events_Connected。
tcpClient.Events.Disconnected = Events_Disconnected。
如果你想監聽發送給你的訊息
private void Events_DataRecieved(object sender, 讀取資料。 DataReceivedEventArgs e)。
{
string IpPort = e.IpPort;
var data = Encoding.UTF8.GetString(e.Data)。
Console.WriteLine(data)。
}
如果你想發送一條訊息
byte[] message = new byte[] {0x00, 0x01, 0x02, 0x03}。
private void EthernetSend()
{
tcpClient.Send("Message"); //如果你想發送一個字串運算式。
tcpClient.Send(message); // If you want to send a hexadecimal expression。
}
uj5u.com熱心網友回復:
通過使用剪貼板解決了問題
public void Send2(String data)
{
Thread = new Thread(() => System.Windows.Clipboard.SetText(data)) 。
thread.SetApartmentState(ApartmentState.STA)。
thread.Start();
thread.Join();
SendKeys.SendWait("^v"/span>)。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/332471.html
標籤:
上一篇:禁用自定義帖子型別
