using SunlightCentralizedControlManagement_SCCM_.View; using SunlightCentralizedControlManagement_SCCM_.EX; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Net.NetworkInformation; using VncSharpWpf; using System.Net.Sockets; using SunlightCentralizedControlManagement_SCCM_.UserClass; namespace SunlightCentralizedControlManagement_SCCM_.EX { /// /// UserMessage.xaml 的交互逻辑 /// public partial class VNC : Window { string host = "127.0.0.1"; // 替换为你的 VNC 服务器地址 int port = 5901; // 替换为你的 VNC 服务器端口 string password = "123456"; // 替换为你的 VNC 服务器密码 public VNC() { InitializeComponent(); } private void Save_Click(object sender, RoutedEventArgs e) { if (rdp.IsConnected) { rdp.Disconnect(); }//断开连接 this.Close(); } public void Parameter(object IP, object PROT, object USER, object PASSWD) { host = IP.ToString(); port = Convert.ToInt16(PROT); password = PASSWD.ToString(); } private async void Window_Loaded(object sender, RoutedEventArgs e) { if (await PingTest(host)) { if (!rdp.IsConnected) { log.Text = host + " OK"; try { rdp.VncPort = port; rdp.Passwd = password; rdp.Connect(host, false, false); //rdp.SetScalingMode(false);//自动缩放全屏 // rdp.SetInputMode(false);//可交互 } catch (Exception ex) { LogGing.ERRDATA(ex); } } } } private async Task PingTest(string ip) { bool result = false; Ping pingSender = new Ping(); try { PingReply reply = await pingSender.SendPingAsync(ip, 3000); if (reply.Status == IPStatus.Success) { result = true; } } catch (PingException) { result = false; } return result; } } }