Compare commits

..

1 Commits

Author SHA1 Message Date
8348865ce8 Add project 2024-01-10 21:48:11 -06:00
3 changed files with 250 additions and 23 deletions

View File

@ -1,3 +1,3 @@
# TCPController-DesktopServer # TCPCommander-DesktopServer
[Archived Code] TCP Server that allows you to control your windows computer from a mobile client. [Archived Code] TCP Server that allows you to control your windows computer from a mobile client.

View File

@ -40,6 +40,8 @@ namespace TCPCommander
public static UdpClient UDP_client; public static UdpClient UDP_client;
public static string IPstring; public static string IPstring;
//IPAddress[] localIP;
[DllImport("user32.dll")] [DllImport("user32.dll")]
public static extern bool GetCursorPos(out Point lpPoint); public static extern bool GetCursorPos(out Point lpPoint);
@ -152,6 +154,11 @@ namespace TCPCommander
} }
//NatDiscoverer discoverer;
//NatDevice device;
//IPAddress ip;
//CancellationTokenSource cts;
//NatDevice UPNPdevice;
public async void PortForward(bool forward, bool alert = false) public async void PortForward(bool forward, bool alert = false)
{ {
if (!forward) if (!forward)
@ -167,10 +174,12 @@ namespace TCPCommander
var discoverer = new NatDiscoverer(); var discoverer = new NatDiscoverer();
var device = await discoverer.DiscoverDeviceAsync(); var device = await discoverer.DiscoverDeviceAsync();
await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, int.Parse(TCP_PortTextBox.Text), int.Parse(TCP_PortTextBox.Text), "TCPCommander Server Map"));//"Inner Router")); await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, int.Parse(TCP_PortTextBox.Text), int.Parse(TCP_PortTextBox.Text), "TCPCommander Server Map"));//"Inner Router"));
//await device.CreatePortMapAsync(new Mapping(Protocol.Tcp, 1700, 1800, "Outer Router"));
var sb = new StringBuilder(); var sb = new StringBuilder();
var ip = await device.GetExternalIPAsync(); var ip = await device.GetExternalIPAsync();
//sb.AppendFormat("\nAdded mapping: {0}:{1} -> 127.0.0.1:{2}\n", ip, TCP_PortLabel.Text, TCP_PortLabel.Text);
sb.AppendFormat("\n+------+-------------------------------+--------------------------------+------------------------------------+-------------------------+"); sb.AppendFormat("\n+------+-------------------------------+--------------------------------+------------------------------------+-------------------------+");
sb.AppendFormat("\n| PROT | PUBLIC (Reacheable) | PRIVATE (Your computer) | Description | |"); sb.AppendFormat("\n| PROT | PUBLIC (Reacheable) | PRIVATE (Your computer) | Description | |");
sb.AppendFormat("\n+------+----------------------+--------+-----------------------+--------+------------------------------------+-------------------------+"); sb.AppendFormat("\n+------+----------------------+--------+-----------------------+--------+------------------------------------+-------------------------+");
@ -195,6 +204,28 @@ namespace TCPCommander
Console.ReadLine(); Console.ReadLine();
} }
//try
//{
// discoverer = new NatDiscoverer();
// device = await discoverer.DiscoverDeviceAsync();
// ip = device.GetExternalIPAsync().Result;
// Debug.WriteLine("Your External IP: " + ip);
// cts = new CancellationTokenSource(10000);
// UPNPdevice = await discoverer.DiscoverDeviceAsync(PortMapper.Upnp, cts);
// await UPNPdevice.CreatePortMapAsync(new Mapping(Protocol.Tcp, 1234, 4321, "UPnP Server Map"));
// Task<IEnumerable<Mapping>> MappingDevice = device.GetAllMappingsAsync();
// Debug.WriteLine("MappingDevice.Result: " + MappingDevice.Result.ToList()[0]);
//}
//catch (Exception ex)
//{
// Debug.WriteLine("Error Occured: " + ex.GetType().ToString() + " : " + ex.Message);
//}
} }
public void ResetServer(bool ServerIsStarted) public void ResetServer(bool ServerIsStarted)
@ -216,7 +247,7 @@ Client has been detected as being disconnected!
worker.WorkerSupportsCancellation = true; worker.WorkerSupportsCancellation = true;
worker.CancelAsync(); worker.CancelAsync();
worker.Dispose(); worker.Dispose(); // dont know if this actually disposes the thing, but it seems to run the code above, so its fine!
LogAdd("Client Disconnected"); LogAdd("Client Disconnected");
LogAdd("Restarting Server"); LogAdd("Restarting Server");
} }
@ -251,12 +282,14 @@ Server has been shutdown by the user and is now offline!
worker.DoWork -= ListenToClient; worker.DoWork -= ListenToClient;
worker.RunWorkerCompleted -= Worker_RunWorkerCompleted; worker.RunWorkerCompleted -= Worker_RunWorkerCompleted;
worker.Dispose(); worker.Dispose(); // dont know if this actually disposes the thing, but it seems to run the code above, so its fine!
LogAdd("Server Shut Down By Host"); LogAdd("Server Shut Down By Host");
LogAdd("Worker Temporarily Deactivated"); LogAdd("Worker Temporarily Deactivated");
} }
} }
//Point mousePoint;
//Point tempMousePoint;
BackgroundWorker worker; BackgroundWorker worker;
public /*async*/ void Initialize() public /*async*/ void Initialize()
{ {
@ -265,11 +298,26 @@ Server has been shutdown by the user and is now offline!
IPstring = GetLocalNetworkIPV4(); IPstring = GetLocalNetworkIPV4();
IPLabel.Text = "IP: " + IPstring; IPLabel.Text = "IP: " + IPstring;
//localIP = Dns.GetHostAddresses(Dns.GetHostName());
//foreach (IPAddress address in localIP) //OLD DEPRICATED METHOD
//{
// if (address.AddressFamily == AddressFamily.InterNetwork)
// {
// IPstring = address.ToString();
// IPstring = "192.168.1.5";
// Debug.WriteLine(IPstring);
// }
//}
//Debug.WriteLine("CONNECT USING: " + IPstring);
} }
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine("Error Occured: " + ex.GetType().ToString() + " : " + ex.Message); Debug.WriteLine("Error Occured: " + ex.GetType().ToString() + " : " + ex.Message);
LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message); LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message);
} //isnt even catching...
} }
@ -307,7 +355,7 @@ Started listening requests at: {0}:{1}
Console.WriteLine("Connected toTCP_client!" + " \n"); Console.WriteLine("Connected toTCP_client!" + " \n");
Console.WriteLine("Client: " + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Address + ":" + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Port); Console.WriteLine("Client: " + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Address + ":" + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Port); //IMPORTANT FOR GETTINGTCP_client IP AND PORT!!!
LogAdd("Client: " + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Address + ":" + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Port + " Connected to the Server"); LogAdd("Client: " + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Address + ":" + (TCP_client.Client.RemoteEndPoint as IPEndPoint).Port + " Connected to the Server");
} }
catch (Exception ex) catch (Exception ex)
@ -322,11 +370,12 @@ Started listening requests at: {0}:{1}
LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message); LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message);
} }
while (TCP_client.Connected) while (TCP_client.Connected /*&& !e.Cancel*/)
{ {
try try
{ {
int bytesize = 1024; //const int bytesize = 1024 * 1024;
int bytesize = 1024; //1024 * 1024 is way too much for the text based transfering!
byte[] buffer = new byte[bytesize]; byte[] buffer = new byte[bytesize];
string networkRead =TCP_client.GetStream().Read(buffer, 0, bytesize).ToString(); string networkRead =TCP_client.GetStream().Read(buffer, 0, bytesize).ToString();
string data = ASCIIEncoding.ASCII.GetString(buffer); string data = ASCIIEncoding.ASCII.GetString(buffer);
@ -334,7 +383,7 @@ Started listening requests at: {0}:{1}
LogAdd("Incoming Data: " + data); LogAdd("Incoming Data: " + data);
if (data.ToUpper().Contains("{TEST}")) if (data.ToUpper().Contains("{TEST}")) //toupper isnt really needed but is added just incase i forget to in the other program, also may remove later
{ {
sendData(getBytes("{TEST_RESPOND}"),TCP_client.GetStream()); sendData(getBytes("{TEST_RESPOND}"),TCP_client.GetStream());
Console.WriteLine("DETECTED \"TEST\""); Console.WriteLine("DETECTED \"TEST\"");
@ -399,11 +448,15 @@ Started listening requests at: {0}:{1}
sendData(getBytes("{PC_LOCK_STATUS}" + PCLocked.ToString().ToLower() + "{/PC_LOCK_STATUS}"),TCP_client.GetStream()); sendData(getBytes("{PC_LOCK_STATUS}" + PCLocked.ToString().ToLower() + "{/PC_LOCK_STATUS}"),TCP_client.GetStream());
LogAdd("Getting & Sending PC Lock Status"); LogAdd("Getting & Sending PC Lock Status");
} }
//else if (data.ToUpper().Contains("PING"))
//{
// Ping();
//}
} }
catch (Exception ex) catch (Exception ex)
{ {
Debug.WriteLine("Exception WHILE Listening: " + ex.Message); Debug.WriteLine("Exception WHILE Listening: " + ex.Message);
TCP_client.GetStream().Close(); TCP_client.GetStream().Close(); //changedTCP_client.Dispose to being afterTCP_client.Close because that seems to make more sense. Also need to restart the server instead of just closing theTCP_client.
TCP_client.Close(); TCP_client.Close();
TCP_clientIsOpen = false; TCP_clientIsOpen = false;
LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message); LogAdd("Exception Thrown: " + ex.GetType() + ":" + ex.Message);
@ -416,7 +469,10 @@ Started listening requests at: {0}:{1}
Debug.WriteLine("a screenshot was taken"); Debug.WriteLine("a screenshot was taken");
var bitmap = SaveScreenshotWithMousePointer(); var bitmap = SaveScreenshotWithMousePointer();//SaveScreenshot();
//var bitmap = SaveScreenshot();
//bitmap = new Bitmap(bitmap, new Size(854, 480));//new Size(1024, 576));//new Size(512, 288)); //new Size(640, 360)); //new Size(1280, 720));
//bitmap = new Bitmap(bitmap, new Size(1920, 1080));
bitmap = new Bitmap(bitmap, new Size(1280, 720)); bitmap = new Bitmap(bitmap, new Size(1280, 720));
var stream = new MemoryStream(); var stream = new MemoryStream();
@ -424,6 +480,7 @@ Started listening requests at: {0}:{1}
Debug.WriteLine("Getting stream size: " + stream.Length); Debug.WriteLine("Getting stream size: " + stream.Length);
sendData(stream.ToArray(),TCP_client.GetStream()); sendData(stream.ToArray(),TCP_client.GetStream());
//UDP_client.Send(stream.ToArray(), (int)stream.Length, UDP_ipEP);
bitmap.Dispose(); bitmap.Dispose();
LogAdd("Taking & Sending Screenshot"); LogAdd("Taking & Sending Screenshot");
@ -444,6 +501,11 @@ Started listening requests at: {0}:{1}
return null; return null;
} }
//void Test()
//{
// Debug.WriteLine("test ran");
//}
void Shutdown() void Shutdown()
{ {
sendData(getBytes("{BEGAN_SHUTDOWN}"),TCP_client.GetStream()); sendData(getBytes("{BEGAN_SHUTDOWN}"),TCP_client.GetStream());
@ -453,6 +515,16 @@ Started listening requests at: {0}:{1}
Process.Start(psi); Process.Start(psi);
} }
//void Ping()
//{
// Debug.WriteLine("Ping Ran");
// sendData(getBytes("{PING}:{" + (((DateTime.Now.Minute * 60) + DateTime.Now.Second * 1000) + DateTime.Now.Millisecond).ToString() + "}:{PING}"),TCP_client.GetStream());
// Debug.WriteLine(getBetween("{PING}:{" + (((DateTime.Now.Minute * 60) + DateTime.Now.Second * 1000) + DateTime.Now.Millisecond).ToString() + "}:{PING}", "{PING}:{", "}:{PING}"));
//}
#region Screenshot Capture #region Screenshot Capture
public static class User32 public static class User32
{ {
@ -680,7 +752,7 @@ Started listening requests at: {0}:{1}
UDP_client.Close(); UDP_client.Close();
} }
} }
catch (Exception) { } catch (Exception) { } //no need to log if we just gonna kill it anyways
if (TCP_listener != null) if (TCP_listener != null)
{ {
@ -769,6 +841,16 @@ Started listening requests at: {0}:{1}
private void TCP_PortTextBox_KeyUp(object sender, EventArgs e) private void TCP_PortTextBox_KeyUp(object sender, EventArgs e)
{ {
//if (string.IsNullOrWhiteSpace(TCP_PortTextBox.Text) || string.IsNullOrEmpty(TCP_PortTextBox.Text))
//{
// return;
//}
//if (!(UDP_PortTextBox.TextLength > 0))
//{
// StartButton.Enabled = false;
// return;
//}
if (TCP_PortTextBox.TextLength > 0 && UDP_PortTextBox.TextLength > 0) if (TCP_PortTextBox.TextLength > 0 && UDP_PortTextBox.TextLength > 0)
{ {
@ -781,6 +863,11 @@ Started listening requests at: {0}:{1}
} }
else else
StartButton.Enabled = false; StartButton.Enabled = false;
//if (!((int.Parse(TCP_PortTextBox.Text) < 1 || int.Parse(TCP_PortTextBox.Text) > 65535) || (int.Parse(UDP_PortTextBox.Text) < 1 || int.Parse(UDP_PortTextBox.Text) > 65535)))
//{
// StartButton.Enabled = true;
//}
} }
private void UDP_PortTextBox_KeyPress(object sender, KeyPressEventArgs e) private void UDP_PortTextBox_KeyPress(object sender, KeyPressEventArgs e)
@ -798,7 +885,19 @@ Started listening requests at: {0}:{1}
private void UDP_PortTextBox_KeyUp(object sender, EventArgs e) private void UDP_PortTextBox_KeyUp(object sender, EventArgs e)
{ {
//if (string.IsNullOrWhiteSpace(UDP_PortTextBox.Text) || string.IsNullOrEmpty(UDP_PortTextBox.Text))
//{
// return;
//}
//if (!(TCP_PortTextBox.TextLength > 0))
//{
// StartButton.Enabled = false;
// return;
//}
//Debug.WriteLine($"TCP {TCP_PortTextBox.TextLength} : UDP {UDP_PortTextBox.TextLength}");
if (TCP_PortTextBox.TextLength > 0 && UDP_PortTextBox.TextLength > 0) if (TCP_PortTextBox.TextLength > 0 && UDP_PortTextBox.TextLength > 0)
{ {
if (int.Parse(TCP_PortTextBox.Text) > 0 && int.Parse(TCP_PortTextBox.Text) < 65536 && int.Parse(UDP_PortTextBox.Text) > 0 && int.Parse(UDP_PortTextBox.Text) < 65536) if (int.Parse(TCP_PortTextBox.Text) > 0 && int.Parse(TCP_PortTextBox.Text) < 65536 && int.Parse(UDP_PortTextBox.Text) > 0 && int.Parse(UDP_PortTextBox.Text) < 65536)
@ -810,6 +909,11 @@ Started listening requests at: {0}:{1}
} }
else else
StartButton.Enabled = false; StartButton.Enabled = false;
//if (!((int.Parse(UDP_PortTextBox.Text) < 1 || int.Parse(UDP_PortTextBox.Text) > 65535) || (int.Parse(TCP_PortTextBox.Text) < 1 || int.Parse(TCP_PortTextBox.Text) > 65535)))
//{
// StartButton.Enabled = true;
//}
} }
@ -857,5 +961,35 @@ Started listening requests at: {0}:{1}
} }
//f2.LogTextBox.ScrollToCaret(); //f2.LogTextBox.ScrollToCaret();
} }
//public static void DisplayIPAddresses() //maybe keep
//{
// StringBuilder sb = new StringBuilder();
// // Get a list of all network interfaces (usually one per network card, dialup, and VPN connection)
// NetworkInterface[] networkInterfaces = NetworkInterface.GetAllNetworkInterfaces();
// foreach (NetworkInterface network in networkInterfaces)
// {
// // Read the IP configuration for each network
// IPInterfaceProperties properties = network.GetIPProperties();
// // Each network interface may have multiple IP addresses
// foreach (IPAddressInformation address in properties.UnicastAddresses)
// {
// // We're only interested in IPv4 addresses for now
// if (address.Address.AddressFamily != AddressFamily.InterNetwork)
// continue;
// // Ignore loopback addresses (e.g., 127.0.0.1)
// if (IPAddress.IsLoopback(address.Address))
// continue;
// sb.AppendLine(address.Address.ToString() + " (" + network.Name + ")");
// }
// }
// MessageBox.Show(sb.ToString());
//}
} }
} }

View File

@ -17,12 +17,14 @@ using Microsoft.Win32;
using KeyboardHookMain; using KeyboardHookMain;
using System.Security.Permissions; using System.Security.Permissions;
//This project is using JSON.NET //This project is using JSON.NET
namespace TCPCommander //need to make login form (form1), form for keybinding (form3), form for attempts and at what time namespace TCPCommander //need to make login form (form1), form for keybinding (form3), form for attempts and at what time (form4). (ALSO: Encrypt the keybind thingy but the logs can be left alone)
{ {
public partial class Form3 : Form public partial class Form3 : Form //Something may be causing the taskbar from hiding, if it happens again try to remove it.
{ {
public static bool isLocked = false; public static bool isLocked = false;
//private KeyboardHook.LowLevelKeyboardListener _listener;
//KeyboardHook2.KeyboardHookClass.i
private static readonly IntPtr HWND_TOPMOST = new IntPtr(-1); private static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
private static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2); private static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2);
private const UInt32 SWP_NOSIZE = 0x0001; private const UInt32 SWP_NOSIZE = 0x0001;
@ -30,7 +32,7 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
private const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE; private const UInt32 TOPMOST_FLAGS = SWP_NOMOVE | SWP_NOSIZE;
[DllImport("user32.dll")] [DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)] [return: MarshalAs(UnmanagedType.Bool)]
public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags); //THIS WINDOWS FN IS CAUSING THE TASKBAR FROM DISAPPEARING!!! NEED TO FIX IMMEDIATELY WHEN CAN!
[DllImport("user32.dll")] [DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)] [return: MarshalAs(UnmanagedType.Bool)]
@ -56,21 +58,41 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
base.WndProc(ref m); base.WndProc(ref m);
} }
//Could be helpful, just not needed atm.
//void ActivateApp(string processName)
//{
// Process[] p = Process.GetProcessesByName(processName);
// // Activate the first application we find with this name
// if (p.Count() > 0)
// SetForegroundWindow(p[0].MainWindowHandle);
//}
public Form3() public Form3()
{ {
InitializeComponent(); InitializeComponent();
} }
//MouseMessageFilter mmf;
Form[] z; Form[] z;
private void Form1_Load(object sender, EventArgs e) private void Form1_Load(object sender, EventArgs e)
{ {
//BlockInput(true); //BlockInput(true);
AutoScaleMode = AutoScaleMode.Font; AutoScaleMode = AutoScaleMode.Font;
//this.Opacity = 0.0; //is called seperately
WindowState = FormWindowState.Maximized; WindowState = FormWindowState.Maximized;
notifyIcon1.Icon = SystemIcons.Shield; notifyIcon1.Icon = SystemIcons.Shield;
SystemEvents.DisplaySettingsChanging += SystemEvents_DisplaySettingsChanging; SystemEvents.DisplaySettingsChanging += SystemEvents_DisplaySettingsChanging;
//mmf = new MouseMessageFilter();
//notifyIcon1.ContextMenuStrip = contextMenu1; //removed contextmenu so dk if needed?
//MenuItem3.Enabled = false; //Make enabled when logged into admin page with logs and attempts.
//Application.ApplicationExit += Application_ApplicationExit; dont think necessary
} }
int screenCount; int screenCount;
@ -82,6 +104,8 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
for (int a = 0; a < z.Length; a++) for (int a = 0; a < z.Length; a++)
{ {
//Debug.WriteLine(z.Length);
//Debug.WriteLine(a);
if (z[a] != null) if (z[a] != null)
{ {
z[a].Close(); z[a].Close();
@ -91,6 +115,9 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
z = new Form[screenCount - 1]; z = new Form[screenCount - 1];
for (int a = 0; a < z.Length; a++) for (int a = 0; a < z.Length; a++)
{ {
//Debug.WriteLine(Application.OpenForms.Count);
z[a] = new Form(); z[a] = new Form();
z[a].FormBorderStyle = FormBorderStyle.None; z[a].FormBorderStyle = FormBorderStyle.None;
z[a].BackColor = Color.Black; z[a].BackColor = Color.Black;
@ -104,14 +131,29 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
} }
} }
//private void MenuItem3_Click(object sender, EventArgs e)
//{
// f3.ChangeKeybind();
//Add Keybinder Here! //Open Keybinder in Admin Panel (dont make a new form)
//}
private void MenuItem4_Click(object sender, EventArgs e) private void MenuItem4_Click(object sender, EventArgs e)
{ {
Application.Exit(); Application.Exit();
} }
private void Timer1_Tick(object sender, EventArgs e) private void Timer1_Tick(object sender, EventArgs e) //THE TIMER IS CURRENTLY DISABLED CAUSE OF THE IMPLEMENTATION OF THE KEYBOARD HOOK
{ {
//if (Control.ModifierKeys == Keys.LWin || Control.ModifierKeys == Keys.RWin || Control.ModifierKeys == Keys.ControlKey || Control.ModifierKeys == Keys.Escape)
//{
// SetForegroundWindow(this.Handle);
//}
//if (Control.ModifierKeys == Keys.Alt || Control.ModifierKeys == Keys.ControlKey)
//{
// SetForegroundWindow(this.Handle);
//}
} }
public bool PreFilterMessage(ref Message m) public bool PreFilterMessage(ref Message m)
@ -124,7 +166,8 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
public void LockPC() public void LockPC()
{ {
this.Show(); this.Show();
SetWindowPos(this.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS); SetWindowPos(this.Handle, HWND_TOPMOST, 0, 0, 0, 0, TOPMOST_FLAGS); //PLACES THE LOCKED PC MENU IN FRONT WHEN ENABLED, BUT WAS CHANGED FOR this.BringToFront(); BECAUSE IT CAUSES THE TASKBAR TO GLITCH OUT UNTIL THE PROGRAM IS CLOSED.
//Application.OpenForms["Form1"].BringToFront();
Cursor.Hide(); Cursor.Hide();
@ -137,7 +180,7 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
this.Opacity = 1; this.Opacity = 1;
notifyIcon1.Visible = true; notifyIcon1.Visible = true; //This is working fsr look into... Looks like a windows thing.
notifyIcon1.BalloonTipTitle = ("Computer Lock"); notifyIcon1.BalloonTipTitle = ("Computer Lock");
notifyIcon1.BalloonTipText = ("Your computer has been locked."); notifyIcon1.BalloonTipText = ("Your computer has been locked.");
notifyIcon1.ShowBalloonTip(5000); notifyIcon1.ShowBalloonTip(5000);
@ -162,8 +205,16 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
z[a].SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height); z[a].SetBounds(bounds.X, bounds.Y, bounds.Width, bounds.Height);
} }
} }
//KeyboardHookMain.KeyboardHook.LockedDownKeyboardKeyPressed += KeyboardHook_LockedDownKeyboardKeyPressed; //not needed really
//BlockInputMtd(TimeSpan.FromMilliseconds(10000));
} }
//private void KeyboardHook_LockedDownKeyboardKeyPressed(object sender, KeyboardLockDownKeyPressedEventArgs e)
//{
// Debug.WriteLine("Key Pressed");
//}
public void UnlockPC() public void UnlockPC()
{ {
this.Hide(); this.Hide();
@ -178,7 +229,7 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
notifyIcon1.BalloonTipTitle = "Computer Lock"; notifyIcon1.BalloonTipTitle = "Computer Lock";
notifyIcon1.BalloonTipText = "Your computer has been unlocked."; notifyIcon1.BalloonTipText = "Your computer has been unlocked.";
notifyIcon1.ShowBalloonTip(5000); notifyIcon1.ShowBalloonTip(5000); //This is working on an off as us 7/29/19 maybe just a bug during the session.
isLocked = false; isLocked = false;
for (int a = 0; a < z.Length; a++) for (int a = 0; a < z.Length; a++)
@ -214,11 +265,11 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
{ {
if (ShutdownBlockReasonDestroy(this.Handle)) if (ShutdownBlockReasonDestroy(this.Handle))
{ {
Debug.WriteLine("Shutdown Reset"); Debug.WriteLine("Shutdown abortion aborted.");
} }
else else
{ {
Debug.WriteLine("Shutdown couldn't be reset"); Debug.WriteLine("Shutdown abortion couldn't be aborted.");
} }
} }
catch (Exception e) catch (Exception e)
@ -227,15 +278,36 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
} }
} }
//public static void BlockInputMtd(TimeSpan span) //BLOCKS INPUT SO HOOK CAN'T SEE IT, NEED TO FIND A WAY TO DETECT KEY PRESS WITHOUT LETTING KEY THROUGH. DELAY JUST WONT WORK.
//{
// try
// {
// BlockInput(true);
// Thread.Sleep(span);
// }
// finally
// {
// BlockInput(false);
// }
//}
private void Form1_Paint(object sender, PaintEventArgs e) private void Form1_Paint(object sender, PaintEventArgs e)
{ {
Pen p = new Pen(Color.White); / Pen p = new Pen(Color.White); //Add this to form2 and form3. Make thickness for all corners as it is only for the top ones.
p.Width = 5; p.Width = 5;
Graphics g = e.Graphics; Graphics g = e.Graphics;
g.DrawRectangle(p, new Rectangle(label1.Location.X - 5, label1.Location.Y - 5, label1.Width + 10, label1.Height + 10)); g.DrawRectangle(p, new Rectangle(label1.Location.X - 5, label1.Location.Y - 5, label1.Width + 10, label1.Height + 10));
g.DrawRectangle(p, new Rectangle(label2.Location.X - 5, label2.Location.Y - 5, label2.Width + 10, label2.Height + 10)); g.DrawRectangle(p, new Rectangle(label2.Location.X - 5, label2.Location.Y - 5, label2.Width + 10, label2.Height + 10));
} }
//private void Application_ApplicationExit(object sender, EventArgs e)
//{
// SystemEvents.DisplaySettingsChanged -= SystemEvents_DisplaySettingsChanged;
// SystemEvents.SessionEnded -= SystemEvents_SessionEnded;
// Application.ApplicationExit -= Application_ApplicationExit;
//}
private void Form1_FormClosing(object sender, FormClosingEventArgs e) private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{ {
notifyIcon1.BalloonTipClosed += (s, args) => notifyIcon1.BalloonTipClosed += (s, args) =>
@ -247,4 +319,25 @@ namespace TCPCommander //need to make login form (form1), form for keybinding (f
}; };
} }
} }
//[SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
//public class MouseMessageFilter : IMessageFilter
//{
// public void EnableMouse()
// {
// Application.RemoveMessageFilter(this);
// }
//
// public void DisableMouse()
// {
// Application.AddMessageFilter(this);
// }
//public bool PreFilterMessage(ref Message m) //wanted to add cause its cool, but doesnt work and can degrade performance. Only thing that can occur is the user pressing the notify balloon tip
//{
// if (m.Msg == 0x201 || m.Msg == 0x202 || m.Msg == 0x203) return true;
// if (m.Msg == 0x204 || m.Msg == 0x205 || m.Msg == 0x206) return true;
// return false;
//}
//}
} }