public static void keyboard_input_handler(Global.KTransferStruct transfer_struct) { Global.INPUT[] input = new Global.INPUT[1]; input[0].type = (int)Global.InputType.KEYBOARD; Global.KEYBDINPUT kb = new Global.KEYBDINPUT(); kb.wVk = transfer_struct.VKode; kb.dwFlags = transfer_struct.Flag; input[0].inputUnion.ki = kb; SendInput(1, input, Marshal.SizeOf(input[0])); }
public static void control_invoker(TcpClient client) { client.Client.ReceiveTimeout = 5000; NetworkStream net_stream = client.GetStream(); try { while (true) { byte[] buffer = new byte[1024]; net_stream.Read(buffer, 0, 1024); string rcv_msg = Encoding.UTF8.GetString(buffer); string[] data = rcv_msg.Split(' '); if (data[0] == "m") { Global.MTransferStruct msg = new Global.MTransferStruct( Convert.ToDouble(data[1]), Convert.ToDouble(data[2]), Convert.ToInt32(data[3]), Convert.ToInt32(data[4]) ); Mouse_Buffer.Enqueue(msg); if (Mouse_Buffer.Count == 1) { Thread tmp_thr = new Thread(mouse_buffer_exec); tmp_thr.Start(); } } if (data[0] == "k") { Global.KTransferStruct msg = new Global.KTransferStruct( Convert.ToInt16(data[1]), Convert.ToInt32(data[2])); Keyboard_Buffer.Enqueue(msg); if (Keyboard_Buffer.Count == 1) { Thread tmp_thr = new Thread(keyboard_buffer_exec); tmp_thr.Start(); } } } } catch (SocketException ex) { } catch (Exception ex) { } }