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
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;
|
|
}
|
|
}
|
|
}
|
|
|