You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

100 lines
2.8 KiB

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
{
/// <summary>
/// UserMessage.xaml 的交互逻辑
/// </summary>
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<bool> 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;
}
}
}