/// <summary> /// 事件:启动按钮按钮单击事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void Btn_Start_ClickAsync(object sender, RoutedEventArgs e) { // 构造命令 CmdString = CMD_NODE_TAP_EXE; // 添加Host CmdString += string.IsNullOrWhiteSpace(Host.Value) ? "" : string.Format("{0}{1} ", CMD_HOST, Host.Value); // 添加端口 CmdString += string.IsNullOrWhiteSpace(Port.Value) ? "" : string.Format("{0}{1} ", CMD_PORT, Port.Value); // 添加密码 CmdString += string.IsNullOrWhiteSpace(Password.Value) ? "" : string.Format("{0}{1} ", CMD_PASSWD, Password.Value); // 判断udp多倍发包倍率(适用于游戏) if (IsXtudp) { // Xtudp Times CmdString += string.IsNullOrWhiteSpace(XtudpTimes.Value) ? "" : string.Format("{0}{1} ", CMD_XTUDP, XtudpTimes.Value); } // 加密 CmdString += string.IsNullOrWhiteSpace(Method.Value) ? "" : string.Format("{0}{1} ", CMD_METHOD, Method.Value); // 判断通信协议 if (IsSeparateMode.Value && !IsUdpProtocol) { // tcp host CmdString += string.IsNullOrWhiteSpace(Host.Value) ? "" : string.Format("{0}{1} ", CMD_TCPHOST, Host.Value); // tcp port CmdString += string.IsNullOrWhiteSpace(Port.Value) ? "" : string.Format("{0}{1} ", CMD_TCPPORT, Port.Value); // tcp passwd CmdString += string.IsNullOrWhiteSpace(Password.Value) ? "" : string.Format("{0}{1} ", CMD_TCPPASSWD, Password.Value); // tcp method CmdString += string.IsNullOrWhiteSpace(Method.Value) ? "" : string.Format("{0}{1} ", CMD_TCPMETHOD, Method.Value); } else if (IsSeparateMode.Value && IsUdpProtocol) { // udp host CmdString += string.IsNullOrWhiteSpace(Host.Value) ? "" : string.Format("{0}{1} ", CMD_UDPHOST, Host.Value); // udp port CmdString += string.IsNullOrWhiteSpace(Port.Value) ? "" : string.Format("{0}{1} ", CMD_UDPPORT, Port.Value); // udp passwd CmdString += string.IsNullOrWhiteSpace(Password.Value) ? "" : string.Format("{0}{1} ", CMD_UDPPASSWD, Password.Value); // udp method CmdString += string.IsNullOrWhiteSpace(Method.Value) ? "" : string.Format("{0}{1} ", CMD_UDPMETHOD, Method.Value); } // 是否开启路由表转发 if (IsRoutesMode.Value) { // routes CmdString += string.IsNullOrWhiteSpace(File.ReadAllText(_routesPath)) ? "" : string.Format("{0}{1} ", CMD_ROUTES, _routesPath); } ConsoleText.Value += CmdTag + CmdString + Environment.NewLine; await Cmd.ExecuteCommandAsync(CmdString); // ʕ •ᴥ•ʔ保持焦点 ConsoleView.Focus(); }