📄 inter.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;
using System.Runtime.InteropServices;
using System.Text.RegularExpressions;
using System.Threading;
namespace WindowsApplication1
{
public partial class Inter : Form
{
SerialPort serialPort = new SerialPort();
private const UInt32 MOUSEEVENTF_LEFTDOWN = 0x0002;
private const UInt32 MOUSEEVENTF_LEFTUP = 0x0004;
[DllImport("user32.dll")]
private static extern void mouse_event(UInt32 dwFlags, UInt32 dx, UInt32 dy, UInt32 dwData, IntPtr dwExtraInfo);
public static void SendClick(Point location)
{
Cursor.Position = location;
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, new IntPtr());
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, new IntPtr());
}
[DllImport("user32.dll", CharSet = CharSet.Auto)]
/// <summary>
///
/// </summary>
private static extern Int32 SystemParametersInfo(UInt32 uiAction, UInt32 uiParam, String pvParam, UInt32 fWinIni);
public static UInt32 SPI_SETDESKWALLPAPER = 20;
public static UInt32 SPIF_UPDATEINIFILE = 0x1;
public String imageFileName;
/// <summary>
/// ///////////////wallpaper
/// </summary>
Thread thread;
//Thread thread1;
public Inter()
{
InitializeComponent();
bmp = new Bitmap(ScreenCapturing.GetDesktopWindowCaptureAsBitmap(), pictureBox1.Width, pictureBox1.Height);
//thread = new Thread(new ThreadStart(threadRun));
//thread.Start();
}
private void Form1_Load(object sender, EventArgs e)
{
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceived);
string[] portNames = SerialPort.GetPortNames();
for (int i = 0; i < portNames.Length; i++)
{
cbbCOMPorts.Items.Add(portNames[i]);
}
btnDisconnect.Enabled = false;
}
private void btnConnect_Click(object sender, EventArgs e)
{
if (serialPort.IsOpen)
{
serialPort.Close();
}
try
{
serialPort.PortName = cbbCOMPorts.Text;
serialPort.BaudRate = 9600;
serialPort.Parity = Parity.None;
serialPort.DataBits = 8;
serialPort.StopBits = StopBits.One;
serialPort.Open();
lblMessage.Text = cbbCOMPorts.Text + " is connected";
btnConnect.Enabled = false;
btnDisconnect.Enabled = true;
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
}
private void btnDisconnect_Click(object sender, EventArgs e)
{
try
{
serialPort.Close();
lblMessage.Text = cbbCOMPorts.Text + " is disconnected";
btnConnect.Enabled = true;
btnDisconnect.Enabled = false;
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
}
private void btnSend_Click(object sender, EventArgs e)
{
try
{
serialPort.Write(txtDataToSend.Text);
txtDataReceived.AppendText(">" + txtDataToSend.Text + Environment.NewLine);
txtDataReceived.ScrollToCaret();
txtDataToSend.Text = string.Empty;
}
catch (Exception er)
{
MessageBox.Show(er.Message);
}
}
private void DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//---invoke the delegate to retrieve the received data---
txtDataReceived.BeginInvoke(new myDelegate(updateTextBox));
}
public delegate void myDelegate();
string recievetext;
public void updateTextBox()
{
//---append the received data into the TextBox control---
recievetext = serialPort.ReadExisting();
//MessageBox.Show(recievetext+ "");
//recievetext = recievetext.Substring(0,);
//recievetext = recievetext.Substring(0, recievetext.IndexOf(Environment.NewLine));
//MessageBox.Show(recievetext+";");
if (recievetext.StartsWith("remoteDesktopReleased"))
{
timer1.Stop();
this.Visible = true;
}
else if (recievetext.Contains("getDesktop"))
{
//MessageBox.Show(recievetext);
this.Visible = false;
threadRun();
this.Visible = true;
//timer1.Interval = 5000;
}
else if (recievetext.StartsWith("remoteDesktop"))
{
timer1.Start();
timer1.Interval = 5000;
this.Visible = false;
//timer1.Interval = 5000;
}
else if (recievetext.StartsWith("pic"))
{
flagPic = true;
}
else if (recievetext.StartsWith("shutdown"))
{
System.Diagnostics.Process.Start("ShutDown", "/i");
}
else if (recievetext.StartsWith("restart"))
{
System.Diagnostics.Process.Start("ShutDown", "/r");
}
else if (recievetext.StartsWith("logoff"))
{
System.Diagnostics.Process.Start("ShutDown", "/l");
}
else if (recievetext.StartsWith("calculator"))
{
System.Diagnostics.Process.Start("calc");
}
else if (recievetext.StartsWith("paint"))
{
System.Diagnostics.Process.Start("mspaint");
}
else if (recievetext.StartsWith("wallpaper"))
{
recievetext = recievetext.Substring(recievetext.IndexOf("r") + 1);
SetImage(recievetext);
}
else if (recievetext.StartsWith("setPic"))
{
txtDataReceived.AppendText(recievetext);
recievetext = recievetext.Substring(7);
setPic(recievetext.Trim());
}
else if (recievetext.StartsWith("click"))
{
string temp;
String ttt;
try
{
//MessageBox.Show(recievetext);
recievetext = recievetext.Substring(5).Trim();
//MessageBox.Show(recievetext);
temp = recievetext.Substring(0, recievetext.IndexOf(":")).Trim();
//MessageBox.Show(temp);
recievetext = recievetext.Substring(recievetext.IndexOf(":")+1).Trim();
recievetext = recievetext.Substring(0, recievetext.IndexOf(":")).Trim();
if (recievetext.IndexOf("click") >0)
{
recievetext = recievetext.Substring(0,recievetext.IndexOf("mouse")).Trim();
}
//MessageBox.Show(recievetext);
//recievetext = recievetext.Substring(0,recievetext.IndexOf(":")).Trim();
//MessageBox.Show(recievetext);
int x = int.Parse(temp);
int y = int.Parse(recievetext);
SendClick(new Point(Cursor.Position.X, Cursor.Position.Y));
}catch(Exception eeee)
{
}
}
else if (recievetext.StartsWith("mouse"))
{
string temp;
String ttt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -