feat: 窗口最大化、最小化、还原以及窗口拖动实现
This commit is contained in:
parent
1267b186ab
commit
c1c3c9519d
@ -1,4 +1,6 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=PlumByteUI_002DLearn_002FPlayerView/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=PlumByteUI_002DLearn_002FForm1/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Tech_002FMultiPlayerView/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Tech_002FPlayerView/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
129
Tech/ArpUtil.cs
Normal file
129
Tech/ArpUtil.cs
Normal file
@ -0,0 +1,129 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
|
||||
namespace PlumByteUI_Learn
|
||||
{
|
||||
public class ArpUtil
|
||||
{
|
||||
/// <summary>
|
||||
/// 引入windowsAPI
|
||||
/// </summary>
|
||||
|
||||
//用于转换ip地址
|
||||
[DllImport("ws2_32.dll")]
|
||||
public static extern int inet_addr(string cp);
|
||||
|
||||
//用于发送APR包(根据APR协议!)
|
||||
[DllImport("IPHLPAPI.dll")]
|
||||
public static extern int SendARP(int DestIP, int ScrIP, ref long pMacAddr, ref int PhyAddrLen);
|
||||
|
||||
/// <summary>
|
||||
/// 根据ARP映射获取指定IP的MAC地址
|
||||
/// </summary>
|
||||
/// <param name="ip"></param>
|
||||
/// <returns></returns>
|
||||
public string GetMACAddressByIP(string ip)
|
||||
{
|
||||
StringBuilder macRouteBuilder = new StringBuilder();
|
||||
string macRoute;
|
||||
try
|
||||
{
|
||||
int ldest = inet_addr(ip); //将IP地址从 点数格式转换成无符号长整型
|
||||
long macinfo = new long();
|
||||
int len = 6;
|
||||
//SendARP函数发送一个地址解析协议(ARP)请求获得指定的目的地IPv4地址相对应的物理地址
|
||||
SendARP(ldest, 0, ref macinfo, ref len);
|
||||
string TmpMac = Convert.ToString(macinfo, 16).PadLeft(12, '0'); //转换成16进制
|
||||
//
|
||||
for (int i = 10; i >= 0; i = i - 2) //反过来读取,原因可以查看接口函数sendApr!
|
||||
{
|
||||
macRouteBuilder.Append(TmpMac.Substring(i, 2).ToUpper());
|
||||
if (i >= 2)
|
||||
{
|
||||
macRouteBuilder.Append("-");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception Mye)
|
||||
{
|
||||
macRouteBuilder.Append("获取远程主机的MAC错误:");
|
||||
macRouteBuilder.Append(Mye.ToString());
|
||||
}
|
||||
|
||||
macRoute = macRouteBuilder.ToString();
|
||||
return macRoute;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取ARP查询字符串
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
private static string GetArpResult()
|
||||
{
|
||||
Process p = null;
|
||||
string output = string.Empty;
|
||||
try
|
||||
{
|
||||
p = Process.Start(new ProcessStartInfo("arp", "-a -n 192.168.0.105")
|
||||
{
|
||||
CreateNoWindow = true,
|
||||
UseShellExecute = false,
|
||||
RedirectStandardOutput = true
|
||||
});
|
||||
output = p.StandardOutput.ReadToEnd();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("IPInfo: Error Retrieving 'arp -a' Results", ex);
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (p != null)
|
||||
{
|
||||
p.Close();
|
||||
}
|
||||
}
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取IP地址与Mac地址对应数据表
|
||||
/// </summary>
|
||||
/// <returns>Mac-IP</returns>
|
||||
public static List<string[]> GetIpInfo()
|
||||
{
|
||||
try
|
||||
{
|
||||
var list = new List<string[]>();
|
||||
var arpResult = GetArpResult();
|
||||
foreach (var arp in arpResult.Split(new char[] { '\n', '\r' }))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(arp))
|
||||
{
|
||||
var oArp = arp.Split(new char[] { ' ', '\t' });
|
||||
var pieces = (from piece in oArp
|
||||
where !string.IsNullOrEmpty(piece)
|
||||
select piece).ToArray();
|
||||
if (pieces.Length == 3)
|
||||
{
|
||||
//pieces[1]Mac
|
||||
//pieces[0]IP
|
||||
list.Add(new string[2] { pieces[1], pieces[0] });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
throw new Exception("IPInfo: Error Parsing 'arp -a' results", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
178
Tech/Form1.Designer.cs
generated
178
Tech/Form1.Designer.cs
generated
@ -34,40 +34,48 @@
|
||||
this.button3 = new System.Windows.Forms.Button();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.panelContainer = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.pictureBox4 = new System.Windows.Forms.PictureBox();
|
||||
this.pictureBox3 = new System.Windows.Forms.PictureBox();
|
||||
this.closeBtn = new System.Windows.Forms.PictureBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.closeBtn)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(22)))), ((int)(((byte)(101)))), ((int)(((byte)(193)))));
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211)))));
|
||||
this.panel1.Controls.Add(this.button4);
|
||||
this.panel1.Controls.Add(this.button3);
|
||||
this.panel1.Controls.Add(this.button2);
|
||||
this.panel1.Controls.Add(this.button1);
|
||||
this.panel1.Controls.Add(this.pictureBox1);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Location = new System.Drawing.Point(0, 30);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(237, 550);
|
||||
this.panel1.Size = new System.Drawing.Size(60, 520);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// button4
|
||||
//
|
||||
this.button4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.button4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(118)))), ((int)(((byte)(211)))));
|
||||
this.button4.FlatAppearance.BorderSize = 0;
|
||||
this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.button4.ForeColor = System.Drawing.Color.White;
|
||||
this.button4.Image = ((System.Drawing.Image)(resources.GetObject("button4.Image")));
|
||||
this.button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.button4.Location = new System.Drawing.Point(0, 274);
|
||||
this.button4.Location = new System.Drawing.Point(0, 462);
|
||||
this.button4.Name = "button4";
|
||||
this.button4.Size = new System.Drawing.Size(237, 54);
|
||||
this.button4.Size = new System.Drawing.Size(60, 58);
|
||||
this.button4.TabIndex = 4;
|
||||
this.button4.Text = " Settings";
|
||||
this.button4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||
this.button4.Text = " 设置";
|
||||
this.button4.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||
this.button4.UseVisualStyleBackColor = false;
|
||||
this.button4.Click += new System.EventHandler(this.button4_Click);
|
||||
//
|
||||
@ -78,13 +86,12 @@
|
||||
this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.button3.ForeColor = System.Drawing.Color.White;
|
||||
this.button3.Image = ((System.Drawing.Image)(resources.GetObject("button3.Image")));
|
||||
this.button3.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.button3.Location = new System.Drawing.Point(0, 173);
|
||||
this.button3.Location = new System.Drawing.Point(0, 116);
|
||||
this.button3.Name = "button3";
|
||||
this.button3.Size = new System.Drawing.Size(237, 54);
|
||||
this.button3.Size = new System.Drawing.Size(60, 58);
|
||||
this.button3.TabIndex = 3;
|
||||
this.button3.Text = " Scan";
|
||||
this.button3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||
this.button3.Text = " 相册";
|
||||
this.button3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||
this.button3.UseVisualStyleBackColor = false;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
@ -95,13 +102,12 @@
|
||||
this.button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.button2.ForeColor = System.Drawing.Color.White;
|
||||
this.button2.Image = ((System.Drawing.Image)(resources.GetObject("button2.Image")));
|
||||
this.button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.button2.Location = new System.Drawing.Point(0, 223);
|
||||
this.button2.Location = new System.Drawing.Point(0, 58);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(237, 54);
|
||||
this.button2.Size = new System.Drawing.Size(60, 58);
|
||||
this.button2.TabIndex = 2;
|
||||
this.button2.Text = " Recovery";
|
||||
this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||
this.button2.Text = "回放";
|
||||
this.button2.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||
this.button2.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// button1
|
||||
@ -111,34 +117,112 @@
|
||||
this.button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.button1.ForeColor = System.Drawing.Color.White;
|
||||
this.button1.Image = ((System.Drawing.Image)(resources.GetObject("button1.Image")));
|
||||
this.button1.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
|
||||
this.button1.Location = new System.Drawing.Point(0, 123);
|
||||
this.button1.Location = new System.Drawing.Point(0, 0);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(237, 54);
|
||||
this.button1.Size = new System.Drawing.Size(60, 58);
|
||||
this.button1.TabIndex = 1;
|
||||
this.button1.Text = " 直播";
|
||||
this.button1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;
|
||||
this.button1.Text = " 直播";
|
||||
this.button1.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||
this.button1.UseVisualStyleBackColor = false;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
|
||||
this.pictureBox1.Location = new System.Drawing.Point(35, 22);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(161, 49);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// panelContainer
|
||||
//
|
||||
this.panelContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panelContainer.Location = new System.Drawing.Point(237, 0);
|
||||
this.panelContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelContainer.Location = new System.Drawing.Point(60, 30);
|
||||
this.panelContainer.Name = "panelContainer";
|
||||
this.panelContainer.Size = new System.Drawing.Size(921, 550);
|
||||
this.panelContainer.Size = new System.Drawing.Size(1098, 520);
|
||||
this.panelContainer.TabIndex = 1;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.AccessibleRole = System.Windows.Forms.AccessibleRole.TitleBar;
|
||||
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(110)))), ((int)(((byte)(255)))));
|
||||
this.panel2.Controls.Add(this.pictureBox4);
|
||||
this.panel2.Controls.Add(this.pictureBox3);
|
||||
this.panel2.Controls.Add(this.closeBtn);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.pictureBox1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(1158, 30);
|
||||
this.panel2.TabIndex = 5;
|
||||
this.panel2.Paint += new System.Windows.Forms.PaintEventHandler(this.panel2_Paint);
|
||||
this.panel2.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TopPanel_MouseDown);
|
||||
//
|
||||
// pictureBox4
|
||||
//
|
||||
this.pictureBox4.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.pictureBox4.ErrorImage = ((System.Drawing.Image)(resources.GetObject("pictureBox4.ErrorImage")));
|
||||
this.pictureBox4.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox4.Image")));
|
||||
this.pictureBox4.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox4.InitialImage")));
|
||||
this.pictureBox4.Location = new System.Drawing.Point(1068, 0);
|
||||
this.pictureBox4.Name = "pictureBox4";
|
||||
this.pictureBox4.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pictureBox4.Size = new System.Drawing.Size(30, 30);
|
||||
this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox4.TabIndex = 4;
|
||||
this.pictureBox4.TabStop = false;
|
||||
this.pictureBox4.Click += new System.EventHandler(this.pictureBox4_Click);
|
||||
//
|
||||
// pictureBox3
|
||||
//
|
||||
this.pictureBox3.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.pictureBox3.ErrorImage = ((System.Drawing.Image)(resources.GetObject("pictureBox3.ErrorImage")));
|
||||
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image")));
|
||||
this.pictureBox3.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox3.InitialImage")));
|
||||
this.pictureBox3.Location = new System.Drawing.Point(1098, 0);
|
||||
this.pictureBox3.Name = "pictureBox3";
|
||||
this.pictureBox3.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.pictureBox3.Size = new System.Drawing.Size(30, 30);
|
||||
this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox3.TabIndex = 3;
|
||||
this.pictureBox3.TabStop = false;
|
||||
this.pictureBox3.Click += new System.EventHandler(this.pictureBox3_Click);
|
||||
//
|
||||
// closeBtn
|
||||
//
|
||||
this.closeBtn.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.closeBtn.ErrorImage = ((System.Drawing.Image)(resources.GetObject("closeBtn.ErrorImage")));
|
||||
this.closeBtn.Image = ((System.Drawing.Image)(resources.GetObject("closeBtn.Image")));
|
||||
this.closeBtn.InitialImage = ((System.Drawing.Image)(resources.GetObject("closeBtn.InitialImage")));
|
||||
this.closeBtn.Location = new System.Drawing.Point(1128, 0);
|
||||
this.closeBtn.Name = "closeBtn";
|
||||
this.closeBtn.Padding = new System.Windows.Forms.Padding(8);
|
||||
this.closeBtn.Size = new System.Drawing.Size(30, 30);
|
||||
this.closeBtn.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.closeBtn.TabIndex = 2;
|
||||
this.closeBtn.TabStop = false;
|
||||
this.closeBtn.Click += new System.EventHandler(this.pictureBox2_Click);
|
||||
this.closeBtn.MouseLeave += new System.EventHandler(this.closeBtn_MouseLeave);
|
||||
this.closeBtn.MouseHover += new System.EventHandler(this.closeBtn_MouseHover);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.label1.Font = new System.Drawing.Font("Century Gothic", 15F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.label1.ForeColor = System.Drawing.Color.White;
|
||||
this.label1.Location = new System.Drawing.Point(60, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Padding = new System.Windows.Forms.Padding(0, 3, 0, 0);
|
||||
this.label1.Size = new System.Drawing.Size(154, 30);
|
||||
this.label1.TabIndex = 1;
|
||||
this.label1.Text = "实训示教";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Left;
|
||||
this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
|
||||
this.pictureBox1.InitialImage = ((System.Drawing.Image)(resources.GetObject("pictureBox1.InitialImage")));
|
||||
this.pictureBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Padding = new System.Windows.Forms.Padding(2);
|
||||
this.pictureBox1.Size = new System.Drawing.Size(60, 30);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 0;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// Form1
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@ -146,6 +230,7 @@
|
||||
this.ClientSize = new System.Drawing.Size(1158, 550);
|
||||
this.Controls.Add(this.panelContainer);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("Century Gothic", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
|
||||
this.Name = "Form1";
|
||||
@ -153,10 +238,26 @@
|
||||
this.Text = "Form1";
|
||||
this.Load += new System.EventHandler(this.Form1_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.closeBtn)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox4;
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox3;
|
||||
|
||||
private System.Windows.Forms.PictureBox closeBtn;
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
@ -164,7 +265,6 @@
|
||||
private System.Windows.Forms.Button button3;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Panel panelContainer;
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@ using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
@ -45,5 +46,58 @@ namespace PlumByteUI_Learn
|
||||
this.panelContainer.Controls.Clear();
|
||||
this.panelContainer.Controls.Add(playerView);
|
||||
}
|
||||
|
||||
private void panel2_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
// throw new System.NotImplementedException();
|
||||
}
|
||||
|
||||
private void pictureBox2_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult dialogResult = MessageBox.Show(@"确定要退出吗?", @"确定退出?", MessageBoxButtons.OKCancel,MessageBoxIcon.Question);
|
||||
if (dialogResult.Equals(DialogResult.OK))
|
||||
{
|
||||
System.Environment.Exit(0);
|
||||
// Application.Exit();
|
||||
}
|
||||
}
|
||||
|
||||
private void pictureBox2_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void closeBtn_MouseHover(object sender, EventArgs e)
|
||||
{
|
||||
closeBtn.BackColor = Color.Crimson;
|
||||
}
|
||||
|
||||
private void closeBtn_MouseLeave(object sender, EventArgs e)
|
||||
{
|
||||
closeBtn.BackColor = Color.FromArgb(0, 110, 255);
|
||||
}
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern bool ReleaseCapture();
|
||||
[DllImport("user32.dll")]
|
||||
private static extern bool SendMessage(IntPtr hwnd, int wMsg, int wParam, int lParam);
|
||||
private const int WM_SYSCOMMAND = 0x0112;
|
||||
private const int SC_MOVE = 0xF010;
|
||||
private const int HTCAPTION = 0x0002;
|
||||
private void TopPanel_MouseDown(object sender, MouseEventArgs e)
|
||||
{
|
||||
ReleaseCapture();
|
||||
SendMessage(this.Handle, WM_SYSCOMMAND, SC_MOVE + HTCAPTION, 0);
|
||||
}
|
||||
|
||||
private void pictureBox3_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.WindowState = this.WindowState == FormWindowState.Maximized ? FormWindowState.Normal : FormWindowState.Maximized;
|
||||
}
|
||||
|
||||
private void pictureBox4_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.WindowState = System.Windows.Forms.FormWindowState.Minimized;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
162
Tech/Form1.resx
162
Tech/Form1.resx
@ -159,45 +159,137 @@
|
||||
</data>
|
||||
<data name="button1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABGdBTUEAALGPC/xhBQAAARVJREFUSEvt
|
||||
lD1qAlEUhYfY+rcErQXrkFSCe7AJaSxDljBiEdxDCleRRnABoguxtkoRAi/f9Z1hiMyfb6aw8IPD4577
|
||||
7j2DD4zuBOGca6EF2qBtDdl8jFpanYL5iprkRatTMJe+50aygrB5v8YtZaWY6XvXhXB/gtoqmw/h7sqP
|
||||
uHdZzYZwLwk4oJ7ssBDqOfpCXVmXAX3ZZ6iDQt687Xaoh3IDDLywnwsv6R11ZgYY+OFvgv/h2/kBBr16
|
||||
D0/vGXVUZmLztgTCQqpg835NcUgZJ51lZIbYn1oZe/SA7F3KiLU6BfMJ/Zzb+Xyjtc4ibM+jVv+HxhBN
|
||||
G9BAK28EvmiGflER1p9p5HoYHqPPChpr5E5dougP9qR2rggdy1IAAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAURJREFUWEft
|
||||
lj1OAzEQhbdFnCBUFFQpaBB9LkKDOEgkCg4Qpaajo0lBm0twBZqIOzjfG4+z3hCF9fKzSPiTnhI/z8zO
|
||||
2pt4m0qlsk8IYYYWaD1AT2jupcoheYq+g/ImSDpBr5YewiPSSpTqAWklRFkTJFzGvLBxaxDk38Uy4dkt
|
||||
eRN0g27RhdtdmNAdiLVbBmMlT3z4KcR26vA5R2/mRF4scB8mPjTA92W0jKXbRyFuVwflF9a2pu258vAW
|
||||
zEMNbKJl9Noa4lKdhC587nOpgZkF58iMc50GVtEyVm4fhbh8BezCCfdEvwYEY+1h7yea2IN1hLw4VdBA
|
||||
KeTXBv5OA+jrD2Ep5Kc6ieE/wyGQn69ATv5HdO3hLZg/0cAZukfvMhwdeKce3oL5W4fR1O0uTIx7HAuS
|
||||
xnshSZCsOxnnlaxS+Yc0zRbFM/3HCeup+QAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox4.ErrorImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAADFJREFUWEft
|
||||
zaENAEEMwLDuv/Q/CTqpsMzGkTIAwOs71mZXd6bNru5Mm13dmTYAQGZ+rNR+kCjI6MYAAAAASUVORK5C
|
||||
YII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAADFJREFUWEft
|
||||
zaENAEEMwLDuv/Q/CTqpsMzGkTIAwOs71mZXd6bNru5Mm13dmTYAQGZ+rNR+kCjI6MYAAAAASUVORK5C
|
||||
YII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox4.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAADFJREFUWEft
|
||||
zaENAEEMwLDuv/Q/CTqpsMzGkTIAwOs71mZXd6bNru5Mm13dmTYAQGZ+rNR+kCjI6MYAAAAASUVORK5C
|
||||
YII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox3.ErrorImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAJlJREFUWEft
|
||||
l8ENwCAIRR3NARyqm7mE+1jAb9NU0pPoQV7CQTD4TDho+KPWmigyhQXc98JROrxBttpRcJQObei3j0hN
|
||||
A30rljpUdwF7AQoetCIrG9Rpb6Um0G9pyTDtyIuAgPx00H7oj7QLuIALuIALuMBBAkT8hLBSQCOvFOCH
|
||||
zzv4JZaWCWA5groLnC2w5Vn+QMUtH5NGCDcjuMvveyxH/gAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAJlJREFUWEft
|
||||
l8ENwCAIRR3NARyqm7mE+1jAb9NU0pPoQV7CQTD4TDho+KPWmigyhQXc98JROrxBttpRcJQObei3j0hN
|
||||
A30rljpUdwF7AQoetCIrG9Rpb6Um0G9pyTDtyIuAgPx00H7oj7QLuIALuIALuMBBAkT8hLBSQCOvFOCH
|
||||
zzv4JZaWCWA5groLnC2w5Vn+QMUtH5NGCDcjuMvveyxH/gAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox3.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAJlJREFUWEft
|
||||
l8ENwCAIRR3NARyqm7mE+1jAb9NU0pPoQV7CQTD4TDho+KPWmigyhQXc98JROrxBttpRcJQObei3j0hN
|
||||
A30rljpUdwF7AQoetCIrG9Rpb6Um0G9pyTDtyIuAgPx00H7oj7QLuIALuIALuMBBAkT8hLBSQCOvFOCH
|
||||
zzv4JZaWCWA5groLnC2w5Vn+QMUtH5NGCDcjuMvveyxH/gAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="closeBtn.ErrorImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAVdJREFUWEfF
|
||||
10tywjAQRVHWk/3PmWXEMPtxdJLXRYj5WLZsbpXAtLrva4oRp2mazu18tvNxOghZ7Vxk+yAcX+3svoSM
|
||||
ZOHyv7DrEtzJwDXLQwrYZQnOuDHPUMgFhi7BFSceu12kAUOW4IgLr50a0ohNS5iNA8tdGjOAVUuYySz6
|
||||
HQYyiC6B3sygP7wwGAEWifSkF+vDC4KI8FToLj3YHl4QRYi7YrXcYVx4QRgxbgI8p4bx4QVxAvATlLN/
|
||||
eCEgQfB+XHghKIHFceEQltDibd/e+9/nw39/n2e1tI+FOAG4CfKcGsYvQRgx7gao5Q7jliCKEE/F7tKD
|
||||
7UsQRIRFQj3pxfolDEaALpHezKB/CQMZRL+gYSazWO7QmAGsCi/MxoHXLg1pxKbwgiMuPHa6SAOGhBdc
|
||||
cWLuVsgFhoYXnHHjmuEhBewSXnAnA79Z7eXtf07f+Pd8On8DuJ4o7d1tDLIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="closeBtn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAVdJREFUWEfF
|
||||
10tywjAQRVHWk/3PmWXEMPtxdJLXRYj5WLZsbpXAtLrva4oRp2mazu18tvNxOghZ7Vxk+yAcX+3svoSM
|
||||
ZOHyv7DrEtzJwDXLQwrYZQnOuDHPUMgFhi7BFSceu12kAUOW4IgLr50a0ohNS5iNA8tdGjOAVUuYySz6
|
||||
HQYyiC6B3sygP7wwGAEWifSkF+vDC4KI8FToLj3YHl4QRYi7YrXcYVx4QRgxbgI8p4bx4QVxAvATlLN/
|
||||
eCEgQfB+XHghKIHFceEQltDibd/e+9/nw39/n2e1tI+FOAG4CfKcGsYvQRgx7gao5Q7jliCKEE/F7tKD
|
||||
7UsQRIRFQj3pxfolDEaALpHezKB/CQMZRL+gYSazWO7QmAGsCi/MxoHXLg1pxKbwgiMuPHa6SAOGhBdc
|
||||
cWLuVsgFhoYXnHHjmuEhBewSXnAnA79Z7eXtf07f+Pd8On8DuJ4o7d1tDLIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="closeBtn.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGPC/xhBQAAAVdJREFUWEfF
|
||||
10tywjAQRVHWk/3PmWXEMPtxdJLXRYj5WLZsbpXAtLrva4oRp2mazu18tvNxOghZ7Vxk+yAcX+3svoSM
|
||||
ZOHyv7DrEtzJwDXLQwrYZQnOuDHPUMgFhi7BFSceu12kAUOW4IgLr50a0ohNS5iNA8tdGjOAVUuYySz6
|
||||
HQYyiC6B3sygP7wwGAEWifSkF+vDC4KI8FToLj3YHl4QRYi7YrXcYVx4QRgxbgI8p4bx4QVxAvATlLN/
|
||||
eCEgQfB+XHghKIHFceEQltDibd/e+9/nw39/n2e1tI+FOAG4CfKcGsYvQRgx7gao5Q7jliCKEE/F7tKD
|
||||
7UsQRIRFQj3pxfolDEaALpHezKB/CQMZRL+gYSazWO7QmAGsCi/MxoHXLg1pxKbwgiMuPHa6SAOGhBdc
|
||||
cWLuVsgFhoYXnHHjmuEhBewSXnAnA79Z7eXtf07f+Pd8On8DuJ4o7d1tDLIAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
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
|
||||
tHn0xH2urv4DYDhyEVfMlyQAAAAASUVORK5CYII=
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFsAAABICAYAAACZdImsAAAABGdBTUEAALGPC/xhBQAABCtJREFUeF7t
|
||||
mtFRHDEMhq8EXnmjBEqgBEpICZRAB5RACZRACZRACZRw0bcT3xhH5/V6ZXkT9M38wwW4s/1blrQOpyAI
|
||||
giAIgiAIgmAfN6JH0bPoVfReiO8/iR5EQQd3Igz8EJ036Ev0JvolCla4FxG9mpFbhfFEPScjyCCSrUwu
|
||||
FaZnkC4wRDPKUoxB7v+REGnkV82YkWLMo0Q5tYXUORQG+BRpZniIsYcvsgIm00m5GO2RNlrk3bUwHhtN
|
||||
fRp+uo5kdNKLaDTJZNbussFHNDqJSBtBMpkxeGag6xrOkY1OsjQ8NxnRerrwLxidtNfw0mReu10jUARa
|
||||
H7lpyajQ2s881WN4aTJybzFbjKZA5ZMir802vdVworacK6eYBzVXmHA+iVJMqnbEmLD2Pi/VugbNZERw
|
||||
kTZdWTOKSbUcsdn5vgyGayYjjxbyL5iQNpmkVqMTGF7mQy+x0YxfM3nthA4DE2uRuNXoBO9pyf8jVFsP
|
||||
G9CzHhOu7T7qNTox03BN7kUwh8ZdmxTaa3TiCIYzvnsRzGFwbWKIY2j5mDqzaE5NG4latI0oHjMNn/of
|
||||
ELX0MbIdmmU4Y05JI7X0QbSPhgcPbezRwnD3dFLrPrx6z1mGWxX9JmqLtLyubGHtamCUXNbJjtbypcsl
|
||||
eUHtlFmLGz36bJfTWyuK3lGdGN2Dc2XAaXbN1UeM6sSIm0I2cMrdB9SimqM8AwLAOm8TUN8eyc+n2wfR
|
||||
c6FhG7EW1bU74FFgSG1OPSKalxMqZt6JXkVfovMVfYrMe+9aVCPPFEJEjbh6XWqOmHcjevljZovYDNP1
|
||||
1xZHdHlABLV0Hj0bQTDJi9t7EdGqmVqTWXPAnYA2waTR+ZqoacnLbHpKZ1u6k+U9YtijqJYyamKDTVj7
|
||||
I8hRZreajJhDfpRb28HlDkfMIqI1E5vF5+yFSZcTLGVtNjl5S4expACFtaJOEMmLpRD2RnSSSSpdSyGI
|
||||
CLKA49ySk5MYd60T4Oea4byXzZB/3L4XxvXIJOBaI6y3GvM+jvLWonYtmjW0G8plk8Qk8rRm3laZtL6t
|
||||
heYSKQ1gMD1y62fnaolmDcxIn3HZKDHJIqpJQa1rr5IvdE1EJ4sqCxU5mO9zSnrasqQt0azBHC5dAwZl
|
||||
hu3Rt6fNXjBJW7S3yk5jD5fPEZN4BNfM2yKz5mC22XnfbI4YtdfsD5FJ+oARN2mtIuWYLURDjNpjtqnR
|
||||
QI7UjBgpjiUnygUxrKe/fhOZB4JnZA9NGdcQ07gq1QzVxMaYFEMNj5yNyZygoSmjhhi4ZjgXU/zO0Dlq
|
||||
DwOWIi9bdRm7ECN5ZH8ScbVK781XDO7p6bvRTNqrw5h8NNZu/LYoTF6BoqUZ16qUk8PkRnruMGjh3LuL
|
||||
/wGqMOZppubid2iNIooNoDKTEnJhrttDSBAEQRAEQRAEQRD8ZE6n33Fuhf9TKD6wAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="pictureBox1.InitialImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAAFsAAABICAYAAACZdImsAAAABGdBTUEAALGPC/xhBQAABCtJREFUeF7t
|
||||
mtFRHDEMhq8EXnmjBEqgBEpICZRAB5RACZRACZRACZRw0bcT3xhH5/V6ZXkT9M38wwW4s/1blrQOpyAI
|
||||
giAIgiAIgmAfN6JH0bPoVfReiO8/iR5EQQd3Igz8EJ036Ev0JvolCla4FxG9mpFbhfFEPScjyCCSrUwu
|
||||
FaZnkC4wRDPKUoxB7v+REGnkV82YkWLMo0Q5tYXUORQG+BRpZniIsYcvsgIm00m5GO2RNlrk3bUwHhtN
|
||||
fRp+uo5kdNKLaDTJZNbussFHNDqJSBtBMpkxeGag6xrOkY1OsjQ8NxnRerrwLxidtNfw0mReu10jUARa
|
||||
H7lpyajQ2s881WN4aTJybzFbjKZA5ZMir802vdVworacK6eYBzVXmHA+iVJMqnbEmLD2Pi/VugbNZERw
|
||||
kTZdWTOKSbUcsdn5vgyGayYjjxbyL5iQNpmkVqMTGF7mQy+x0YxfM3nthA4DE2uRuNXoBO9pyf8jVFsP
|
||||
G9CzHhOu7T7qNTox03BN7kUwh8ZdmxTaa3TiCIYzvnsRzGFwbWKIY2j5mDqzaE5NG4latI0oHjMNn/of
|
||||
ELX0MbIdmmU4Y05JI7X0QbSPhgcPbezRwnD3dFLrPrx6z1mGWxX9JmqLtLyubGHtamCUXNbJjtbypcsl
|
||||
eUHtlFmLGz36bJfTWyuK3lGdGN2Dc2XAaXbN1UeM6sSIm0I2cMrdB9SimqM8AwLAOm8TUN8eyc+n2wfR
|
||||
c6FhG7EW1bU74FFgSG1OPSKalxMqZt6JXkVfovMVfYrMe+9aVCPPFEJEjbh6XWqOmHcjevljZovYDNP1
|
||||
1xZHdHlABLV0Hj0bQTDJi9t7EdGqmVqTWXPAnYA2waTR+ZqoacnLbHpKZ1u6k+U9YtijqJYyamKDTVj7
|
||||
I8hRZreajJhDfpRb28HlDkfMIqI1E5vF5+yFSZcTLGVtNjl5S4expACFtaJOEMmLpRD2RnSSSSpdSyGI
|
||||
CLKA49ySk5MYd60T4Oea4byXzZB/3L4XxvXIJOBaI6y3GvM+jvLWonYtmjW0G8plk8Qk8rRm3laZtL6t
|
||||
heYSKQ1gMD1y62fnaolmDcxIn3HZKDHJIqpJQa1rr5IvdE1EJ4sqCxU5mO9zSnrasqQt0azBHC5dAwZl
|
||||
hu3Rt6fNXjBJW7S3yk5jD5fPEZN4BNfM2yKz5mC22XnfbI4YtdfsD5FJ+oARN2mtIuWYLURDjNpjtqnR
|
||||
QI7UjBgpjiUnygUxrKe/fhOZB4JnZA9NGdcQ07gq1QzVxMaYFEMNj5yNyZygoSmjhhi4ZjgXU/zO0Dlq
|
||||
DwOWIi9bdRm7ECN5ZH8ScbVK781XDO7p6bvRTNqrw5h8NNZu/LYoTF6BoqUZ16qUk8PkRnruMGjh3LuL
|
||||
/wGqMOZppubid2iNIooNoDKTEnJhrttDSBAEQRAEQRAEQRD8ZE6n33Fuhf9TKD6wAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
149
Tech/GetIPNetTable.cs
Normal file
149
Tech/GetIPNetTable.cs
Normal file
@ -0,0 +1,149 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.ComponentModel;
|
||||
using System.Net;
|
||||
|
||||
namespace PlumByteUI_Learn
|
||||
{
|
||||
public class GetIPNetTable
|
||||
{
|
||||
// The max number of physical addresses.
|
||||
const int MAXLEN_PHYSADDR = 8;
|
||||
|
||||
// Define the MIB_IPNETROW structure.
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
struct MIB_IPNETROW
|
||||
{
|
||||
[MarshalAs(UnmanagedType.U4)] public int dwIndex;
|
||||
[MarshalAs(UnmanagedType.U4)] public int dwPhysAddrLen;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac0;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac1;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac2;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac3;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac4;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac5;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac6;
|
||||
[MarshalAs(UnmanagedType.U1)] public byte mac7;
|
||||
[MarshalAs(UnmanagedType.U4)] public int dwAddr;
|
||||
[MarshalAs(UnmanagedType.U4)] public int dwType;
|
||||
}
|
||||
|
||||
// Declare the GetIpNetTable function.
|
||||
[DllImport("IpHlpApi.dll")]
|
||||
[return: MarshalAs(UnmanagedType.U4)]
|
||||
static extern int GetIpNetTable(
|
||||
IntPtr pIpNetTable,
|
||||
[MarshalAs(UnmanagedType.U4)] ref int pdwSize,
|
||||
bool bOrder);
|
||||
|
||||
[DllImport("IpHlpApi.dll", SetLastError = true, CharSet = CharSet.Auto)]
|
||||
internal static extern int FreeMibTable(IntPtr plpNetTable);
|
||||
|
||||
// The insufficient buffer error.
|
||||
const int ERROR_INSUFFICIENT_BUFFER = 122;
|
||||
|
||||
/// <summary>
|
||||
/// 获取
|
||||
/// </summary>
|
||||
public static List<ArpIP> Get_IPNetTable()
|
||||
{
|
||||
List<ArpIP> ArrArpIP = new List<ArpIP>();
|
||||
// The number of bytes needed.
|
||||
int bytesNeeded = 0;
|
||||
|
||||
// The result from the API call.
|
||||
int result = GetIpNetTable(IntPtr.Zero, ref bytesNeeded, false);
|
||||
|
||||
// Call the function, expecting an insufficient buffer.
|
||||
if (result != ERROR_INSUFFICIENT_BUFFER)
|
||||
{
|
||||
// Throw an exception.
|
||||
throw new Win32Exception(result);
|
||||
}
|
||||
|
||||
// Allocate the memory, do it in a try/finally block, to ensure
|
||||
// that it is released.
|
||||
IntPtr buffer = IntPtr.Zero;
|
||||
|
||||
// Try/finally.
|
||||
try
|
||||
{
|
||||
// Allocate the memory.
|
||||
buffer = Marshal.AllocCoTaskMem(bytesNeeded);
|
||||
|
||||
// Make the call again. If it did not succeed, then
|
||||
// raise an error.
|
||||
result = GetIpNetTable(buffer, ref bytesNeeded, false);
|
||||
|
||||
// If the result is not 0 (no error), then throw an exception.
|
||||
if (result != 0)
|
||||
{
|
||||
// Throw an exception.
|
||||
throw new Win32Exception(result);
|
||||
}
|
||||
|
||||
// Now we have the buffer, we have to marshal it. We can read
|
||||
// the first 4 bytes to get the length of the buffer.
|
||||
int entries = Marshal.ReadInt32(buffer);
|
||||
|
||||
// Increment the memory pointer by the size of the int.
|
||||
IntPtr currentBuffer = new IntPtr(buffer.ToInt64() +
|
||||
Marshal.SizeOf(typeof(int)));
|
||||
|
||||
// Allocate an array of entries.
|
||||
MIB_IPNETROW[] table = new MIB_IPNETROW[entries];
|
||||
|
||||
// Cycle through the entries.
|
||||
for (int index = 0; index < entries; index++)
|
||||
{
|
||||
// Call PtrToStructure, getting the structure information.
|
||||
table[index] = (MIB_IPNETROW)Marshal.PtrToStructure(new
|
||||
IntPtr(currentBuffer.ToInt64() + (index *
|
||||
Marshal.SizeOf(typeof(MIB_IPNETROW)))), typeof(MIB_IPNETROW));
|
||||
}
|
||||
|
||||
for (int index = 0; index < entries; index++)
|
||||
{
|
||||
MIB_IPNETROW row = table[index];
|
||||
IPAddress ip = new IPAddress(BitConverter.GetBytes(row.dwAddr));
|
||||
Console.Write("IP:" + ip.ToString() + "\t\tMAC:");
|
||||
Console.Write(row.mac0.ToString("X2") + '-');
|
||||
Console.Write(row.mac1.ToString("X2") + '-');
|
||||
Console.Write(row.mac2.ToString("X2") + '-');
|
||||
Console.Write(row.mac3.ToString("X2") + '-');
|
||||
Console.Write(row.mac4.ToString("X2") + '-');
|
||||
Console.WriteLine(row.mac5.ToString("X2"));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac0.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac1.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac2.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac3.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac4.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac5.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac6.ToString("X2")));
|
||||
ArrArpIP.Add(new ArpIP(ip.ToString(), row.mac7.ToString("X2")));
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
// Release the memory.
|
||||
FreeMibTable(buffer);
|
||||
}
|
||||
|
||||
return ArrArpIP;
|
||||
}
|
||||
|
||||
public class ArpIP
|
||||
{
|
||||
public ArpIP(string _IPAddress, string _MacAddress)
|
||||
{
|
||||
IPAddress = _IPAddress;
|
||||
MacAddress = _MacAddress;
|
||||
}
|
||||
|
||||
public string IPAddress { get; set; }
|
||||
public string MacAddress { get; set; }
|
||||
}
|
||||
}
|
||||
}
|
||||
46
Tech/MultiPlayerView.Designer.cs
generated
Normal file
46
Tech/MultiPlayerView.Designer.cs
generated
Normal file
@ -0,0 +1,46 @@
|
||||
using System.ComponentModel;
|
||||
|
||||
namespace PlumByteUI_Learn
|
||||
{
|
||||
partial class MultiPlayerView
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// MultiPlayerView
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.Name = "MultiPlayerView";
|
||||
this.Size = new System.Drawing.Size(921, 550);
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
12
Tech/MultiPlayerView.cs
Normal file
12
Tech/MultiPlayerView.cs
Normal file
@ -0,0 +1,12 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace PlumByteUI_Learn
|
||||
{
|
||||
public partial class MultiPlayerView : UserControl
|
||||
{
|
||||
public MultiPlayerView()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
||||
60
Tech/PlayerView.Designer.cs
generated
60
Tech/PlayerView.Designer.cs
generated
@ -31,28 +31,15 @@ namespace PlumByteUI_Learn
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.vlcControl = new Vlc.DotNet.Forms.VlcControl();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.playBtn = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.vlcControl)).BeginInit();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.vlcControl = new Vlc.DotNet.Forms.VlcControl();
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.vlcControl)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// vlcControl
|
||||
//
|
||||
this.vlcControl.BackColor = System.Drawing.Color.Black;
|
||||
this.vlcControl.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.vlcControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.vlcControl.Name = "vlcControl";
|
||||
this.vlcControl.Size = new System.Drawing.Size(921, 460);
|
||||
this.vlcControl.Spu = -1;
|
||||
this.vlcControl.TabIndex = 0;
|
||||
this.vlcControl.Text = "vlcControl1";
|
||||
this.vlcControl.VlcLibDirectory = null;
|
||||
this.vlcControl.VlcMediaplayerOptions = null;
|
||||
this.vlcControl.VlcLibDirectoryNeeded += new System.EventHandler<Vlc.DotNet.Forms.VlcLibDirectoryNeededEventArgs>(this.vlcControl_VlcLibDirectoryNeeded);
|
||||
this.vlcControl.Click += new System.EventHandler(this.vlcControl_Click);
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(46)))), ((int)(((byte)(57)))), ((int)(((byte)(75)))));
|
||||
@ -65,7 +52,7 @@ namespace PlumByteUI_Learn
|
||||
//
|
||||
// playBtn
|
||||
//
|
||||
this.playBtn.Location = new System.Drawing.Point(439, 39);
|
||||
this.playBtn.Location = new System.Drawing.Point(301, 39);
|
||||
this.playBtn.Name = "playBtn";
|
||||
this.playBtn.Size = new System.Drawing.Size(75, 23);
|
||||
this.playBtn.TabIndex = 0;
|
||||
@ -73,26 +60,51 @@ namespace PlumByteUI_Learn
|
||||
this.playBtn.UseVisualStyleBackColor = true;
|
||||
this.playBtn.Click += new System.EventHandler(this.playBtn_Click);
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Controls.Add(this.vlcControl);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(921, 460);
|
||||
this.panel2.TabIndex = 2;
|
||||
//
|
||||
// vlcControl
|
||||
//
|
||||
this.vlcControl.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.vlcControl.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.vlcControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.vlcControl.Name = "vlcControl";
|
||||
this.vlcControl.Size = new System.Drawing.Size(921, 460);
|
||||
this.vlcControl.Spu = -1;
|
||||
this.vlcControl.TabIndex = 0;
|
||||
this.vlcControl.Text = "vlcControl1";
|
||||
this.vlcControl.VlcLibDirectory = null;
|
||||
this.vlcControl.VlcMediaplayerOptions = null;
|
||||
this.vlcControl.VlcLibDirectoryNeeded += new System.EventHandler<Vlc.DotNet.Forms.VlcLibDirectoryNeededEventArgs>(this.vlcControl_VlcLibDirectoryNeeded);
|
||||
//
|
||||
// PlayerView
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.vlcControl);
|
||||
this.Name = "PlayerView";
|
||||
this.Size = new System.Drawing.Size(921, 550);
|
||||
this.Load += new System.EventHandler(this.PlayerView_Load);
|
||||
((System.ComponentModel.ISupportInitialize)(this.vlcControl)).EndInit();
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.vlcControl)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
private Vlc.DotNet.Forms.VlcControl vlcControl;
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
|
||||
private System.Windows.Forms.Button playBtn;
|
||||
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
|
||||
#endregion
|
||||
|
||||
private Vlc.DotNet.Forms.VlcControl vlcControl;
|
||||
}
|
||||
}
|
||||
@ -15,9 +15,9 @@ namespace PlumByteUI_Learn
|
||||
|
||||
private void PlayerView_Load(object sender, EventArgs e)
|
||||
{
|
||||
string[] options = { ":network-caching=100", ":rtsp-tcp"};// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none}
|
||||
var videoUri = new Uri(@"rtsp://127.0.0.1:8554/rains");
|
||||
vlcControl.Play(videoUri, options);
|
||||
// string[] options = { ":network-caching=100", ":rtsp-tcp"};// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none}
|
||||
// var videoUri = new Uri(@"rtsp://127.0.0.1:8554/rains");
|
||||
// vlcControl.Play(videoUri, options);
|
||||
// vlcControl.Controls
|
||||
|
||||
// using(SaveFileDialog sfd = new SaveFileDialog())
|
||||
@ -65,9 +65,10 @@ namespace PlumByteUI_Learn
|
||||
*/
|
||||
private void playBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
string[] options = { ":network-caching=100", ":rtsp-tcp", ":no-audio" };// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none}
|
||||
string[] options = { ":network-caching=10", ":rtsp-tcp"};// { ":network-caching=100", ":rtsp -tcp", ":no-audio" }; // --avcodec-hw={any,d3d11va,dxva2,none}
|
||||
var videoUri = new Uri(@"rtsp://127.0.0.1:8554/rains");
|
||||
vlcControl.Play(videoUri, options);
|
||||
Console.WriteLine("播放rtsp视频");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
@ -12,8 +13,13 @@ namespace PlumByteUI_Learn
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
[DllImport("kernel32.dll")]
|
||||
static extern bool AttachConsole(int dwProcessId);
|
||||
private const int ATTACH_PARENT_PROCESS = -1;
|
||||
|
||||
static void Main()
|
||||
{
|
||||
AttachConsole(ATTACH_PARENT_PROCESS);
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new Form1());
|
||||
|
||||
@ -55,12 +55,20 @@
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ArpUtil.cs" />
|
||||
<Compile Include="Form1.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Form1.Designer.cs">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="GetIPNetTable.cs" />
|
||||
<Compile Include="MultiPlayerView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="MultiPlayerView.Designer.cs">
|
||||
<DependentUpon>MultiPlayerView.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PlayerView.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@ -78,6 +86,9 @@
|
||||
<EmbeddedResource Include="Form1.resx">
|
||||
<DependentUpon>Form1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="MultiPlayerView.resx">
|
||||
<DependentUpon>MultiPlayerView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PlayerView.resx">
|
||||
<DependentUpon>PlayerView.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/DesignerComponentManagerNuGet/DesignerToolboxNuGetState/@EntryValue">D:\develop\RiderProjects\UI-Design-in-C\PlumByteUI-Learn\packages\Vlc.DotNet.Forms.3.1.0\lib\net45\Vlc.DotNet.Forms.dll|Vlc.DotNet.Forms.VlcControl</s:String></wpf:ResourceDictionary>
|
||||
<s:String x:Key="/Default/DesignerComponentManagerNuGet/DesignerToolboxNuGetState/@EntryValue">D:\develop\RiderProjects\UI-Design-in-C\PlumByteUI-Learn\packages\Vlc.DotNet.Forms.3.1.0\lib\net45\Vlc.DotNet.Forms.dll|</s:String></wpf:ResourceDictionary>
|
||||
2
Tech/UCOverview.Designer.cs
generated
2
Tech/UCOverview.Designer.cs
generated
@ -65,6 +65,7 @@
|
||||
this.button1.TabIndex = 3;
|
||||
this.button1.Text = "Quick Scan";
|
||||
this.button1.UseVisualStyleBackColor = true;
|
||||
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
@ -114,6 +115,7 @@
|
||||
this.button3.Text = "\r\nQuick Scan";
|
||||
this.button3.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageAboveText;
|
||||
this.button3.UseVisualStyleBackColor = false;
|
||||
this.button3.Click += new System.EventHandler(this.button3_Click);
|
||||
//
|
||||
// button2
|
||||
//
|
||||
|
||||
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@ -21,5 +22,19 @@ namespace PlumByteUI_Learn
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void button3_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ipNetTable = GetIPNetTable.Get_IPNetTable();
|
||||
}
|
||||
|
||||
private void button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
var ipInfo = ArpUtil.GetIpInfo();
|
||||
foreach (var ip in ipInfo)
|
||||
{
|
||||
Console.WriteLine("{0} => {1}", ip[0], ip[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user