[New Utility]Mouse Without Borders

* Integrate Mouse Without Borders into PowerToys

---------

Co-authored-by: Jaime Bernardo <jaime@janeasystems.com>
This commit is contained in:
Andrey Nekrasov
2023-05-15 23:32:26 +01:00
committed by Jaime Bernardo
parent a0b9af039d
commit 29eebe16a4
304 changed files with 37234 additions and 133 deletions

View File

@@ -0,0 +1,18 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
namespace MouseWithoutBorders.Form.Settings
{
public class PageEventArgs : EventArgs
{
public SettingsFormPage Page { get; private set; }
public PageEventArgs(SettingsFormPage page)
{
Page = page;
}
}
}

View File

@@ -0,0 +1,95 @@
namespace MouseWithoutBorders
{
partial class SettingsForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm));
this.closeWindowButton = new MouseWithoutBorders.ImageButton();
this.contentPanel = new System.Windows.Forms.Panel();
this.toolTipManual = new System.Windows.Forms.ToolTip(this.components);
((System.ComponentModel.ISupportInitialize)(this.closeWindowButton)).BeginInit();
this.SuspendLayout();
//
// closeWindowButton
//
this.closeWindowButton.BackColor = System.Drawing.Color.Transparent;
this.closeWindowButton.DisabledImage = null;
this.closeWindowButton.DownImage = global::MouseWithoutBorders.Properties.Resources.close_window_click;
this.closeWindowButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.close_window_hover;
this.closeWindowButton.Location = new System.Drawing.Point(454, 6);
this.closeWindowButton.Name = "closeWindowButton";
this.closeWindowButton.NormalImage = null;
this.closeWindowButton.Size = new System.Drawing.Size(16, 16);
this.closeWindowButton.TabIndex = 1;
this.closeWindowButton.TabStop = false;
this.closeWindowButton.Click += new System.EventHandler(this.CloseWindowButtonClick);
//
// contentPanel
//
this.contentPanel.BackColor = System.Drawing.Color.Transparent;
this.contentPanel.Location = new System.Drawing.Point(12, 26);
this.contentPanel.Name = "contentPanel";
this.contentPanel.Size = new System.Drawing.Size(453, 438);
this.contentPanel.TabIndex = 2;
this.contentPanel.Visible = false;
//
// toolTipManual
//
this.toolTipManual.ToolTipTitle = "Microsoft® Visual Studio® 2010";
//
// SettingsForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImage = global::MouseWithoutBorders.Properties.Resources.dialog_background;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(477, 476);
this.Controls.Add(this.closeWindowButton);
this.Controls.Add(this.contentPanel);
this.DoubleBuffered = true;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "SettingsForm";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "frmSettings";
this.TopMost = true;
this.TransparencyKey = System.Drawing.Color.Magenta;
((System.ComponentModel.ISupportInitialize)(this.closeWindowButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private ImageButton closeWindowButton;
private System.Windows.Forms.Panel contentPanel;
private System.Windows.Forms.ToolTip toolTipManual;
}
}

View File

@@ -0,0 +1,140 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Drawing;
using System.Windows.Forms;
using MouseWithoutBorders.Form.Settings;
namespace MouseWithoutBorders
{
public partial class SettingsForm : System.Windows.Forms.Form
{
private bool _movingWindows;
private Point _moveWindowOffset;
private SettingsFormPage _currentPage;
public SettingsForm()
{
InitializeComponent();
toolTipManual.ToolTipTitle = Application.ProductName;
Text = Application.ProductName;
Common.LogDebug("FIRST RUN, SHOWING THE FIRST SETUP PAGE.");
Common.LogDebug($"{nameof(Common.RunWithNoAdminRight)} = {Common.RunWithNoAdminRight}");
if (Common.RunWithNoAdminRight)
{
SetControlPage(new SetupPage2aa());
}
else
{
SetControlPage(new SetupPage1());
}
}
protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
{
Common.Settings = null;
if (_currentPage != null)
{
Common.LogDebug(_currentPage.Name + " closing.");
_currentPage.OnPageClosing();
}
base.OnClosing(e);
}
internal SettingsFormPage GetCurrentPage()
{
return _currentPage;
}
internal void SetControlPage(SettingsFormPage page)
{
SuspendLayout();
if (_currentPage != null)
{
_currentPage.NextPage -= PageNextPage;
_currentPage.OnPageClosing();
Controls.Remove(_currentPage);
}
if (page != null)
{
Common.LogDebug("GOING TO NEXT PAGE: " + page.Name);
page.BackColor = Color.Transparent;
page.NextPage += PageNextPage;
page.Location = contentPanel.Location;
page.Visible = true;
Controls.Add(page);
}
_currentPage = page;
ResumeLayout(true);
if (page == null)
{
Close();
}
}
private void PageNextPage(object sender, PageEventArgs e)
{
SetControlPage(e.Page);
}
protected override void OnMouseDown(MouseEventArgs e)
{
_movingWindows = true;
_moveWindowOffset = new Point(e.X, e.Y);
base.OnMouseDown(e);
}
protected override void OnMouseMove(MouseEventArgs e)
{
if (_movingWindows)
{
Point newLocation = Location;
newLocation.X += e.X - _moveWindowOffset.X;
newLocation.Y += e.Y - _moveWindowOffset.Y;
Location = newLocation;
}
base.OnMouseMove(e);
}
protected override void OnMouseUp(MouseEventArgs e)
{
if (_movingWindows)
{
_movingWindows = false;
}
base.OnMouseUp(e);
}
private void CloseWindowButtonClick(object sender, EventArgs e)
{
Close();
}
private string lastMessage = string.Empty;
internal void ShowTip(ToolTipIcon icon, string msg, int durationInMilliseconds)
{
int x = 0;
string text = msg + $"\r\n {(lastMessage.Equals(msg, StringComparison.OrdinalIgnoreCase) ? string.Empty : $"\r\nPrevious message/error: {lastMessage}")} ";
lastMessage = msg;
int y = (-text.Split(new string[] { "\r\n" }, StringSplitOptions.None).Length * 15) - 30;
toolTipManual.Hide(this);
toolTipManual.ToolTipIcon = icon;
toolTipManual.Show(text, this, x, y, durationInMilliseconds);
}
}
}

View File

@@ -0,0 +1,198 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="toolTipManual.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32FIv3Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32EYv3Eo32AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32BIf3GJD2Eov3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAEo32CYn3GZD2DIf4Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QZv0FI72GpH2FIv3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32Con3HJH2FI72QJv0
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJb1FI72GZD2Ho/2Eo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEo32Eo32G5H2FI72NJb1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPpr0Fo72GZD2Don3Eo32AAAAAAAAAAAAAAAAAAAAAAAAEo32BIj3HJH2
Fo72Ppr0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpn0
Fo/2GZD2II/2Eo32AAAAAAAAAAAAAAAAEo32E432HJH2Fo/2Opn0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIo/2HJH2GZD2Foz3Eo32AAAAAAAAEo32
Cor3HJH2HJH2Io/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZ7zA4f3Con3Con3Con3Con3
Con3Con3Con3DYv3HJH2HpL2HZH2GZD2GIz2Eo32Eo32C4v3HJH2HpL2HpL2HJH2DYv3Con3Con3Con3
Con3Con3Con3Con3AIX4Eo32WqLzD432Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2F4/2HZH2HpL2HpL2HZH2
EY32O5j0Npf0FI72HZH2HpL2HpL2HJH2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2C4v3Eo32frPvSaPy
TqTyTqTyTqTyTqTyTqTyTqTyT6XyV6jxIJH2HZH2HpL2Eo32Opv0AAAAAAAALJT2FY/2HpL2HJH2K5T1
V6nxT6TyTqTyTqTyTqTyTqTyTqTyTqTyRqHzEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2
GY72HZH2Eo32OJr0AAAAAAAAAAAAAAAAKZP1FY/2G5H2I5H2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2Ho/2GpH2Eo32PZz0AAAAAAAAAAAAAAAAAAAA
AAAAL5b1FY/2GJD2KJT2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAHZH2G472GZD2E432Npn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJL1Fo/2Fo/2J5P2Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2HpD2GJD2FI72MZj1AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJZL2Fo/2Fo/2KpT1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHZH2FIv3GZD2E472MZf1AAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAA
JZL2Fo/2Fo/2H4/3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32H5D2Doz2M5j0AAAA
AAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAJpL1D4z2J5T1Eo32AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32NJj1AAAAAAAAAAAABAQE//jwBAQEBAQEAAAAAAAABAQE
//jwBAQEBAQEAAAAAAAAAAAAMJb1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQE
AAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////v//f/x/
/j/4P/wf/B/4P/4P8H//B+D//4PB///Bg/8AAAAAAAAAAAABgAD/g8H//wfg//4P8H/8H/g/+DPMH/hh
hh/84Yc//+GH///zz/////////////////////////////////8oAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32GJD2Eo32AAAAAAAAAAAAAAAAAAAA
AAAACYn3DIf4AAAAAAAAAAAAAAAAAAAAAAAANJb1GZD2Eo32AAAAAAAAAAAAAAAAEo32FI72AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOpn0GZD2Eo32AAAAAAAAE432Fo/2AAAAAAAAAAAAAAAAAAAAA4f3Con3
Con3Con3DYv3HpL2GZD2Eo32C4v3HpL2HJH2Con3Con3Con3Con3Eo32SaPyTqTyTqTyTqTyV6jxHZH2
Eo32AAAALJT2HpL2K5T1T6TyTqTyTqTyTqTyEo32AAAAAAAAAAAAAAAAHo/2Eo32AAAAAAAAAAAAL5b1
GJD2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAHpD2FI72AAAAAAAAAAAAAAAAAAAAJZL2Fo/2Eo32AAAA
AAAAAAAAAAAAAAAAEo32Doz2AAAABAQEBAQEAAAABAQEBAQEAAAAJpL1J5T1AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//8AAP//AAD//wAA7/8AAMfnAADjzwAA8Z8AAAAAAAABAAAA848AAOfHAADJJwAA+T8AAP//
AAD//wAA//8AAA==
</value>
</data>
</root>

View File

@@ -0,0 +1,87 @@
namespace MouseWithoutBorders
{
partial class SettingsFormPage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.buttonSkip = new System.Windows.Forms.Button();
this.BackButton = new MouseWithoutBorders.ImageButton();
((System.ComponentModel.ISupportInitialize)(this.BackButton)).BeginInit();
this.SuspendLayout();
//
// buttonSkip
//
this.buttonSkip.FlatAppearance.BorderSize = 0;
this.buttonSkip.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(192)))), ((int)(((byte)(128)))));
this.buttonSkip.FlatAppearance.MouseOverBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(128)))), ((int)(((byte)(0)))));
this.buttonSkip.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.buttonSkip.ForeColor = System.Drawing.Color.White;
this.buttonSkip.Location = new System.Drawing.Point(0, 36);
this.buttonSkip.Name = "buttonSkip";
this.buttonSkip.Size = new System.Drawing.Size(40, 23);
this.buttonSkip.TabIndex = 1;
this.buttonSkip.Text = "&Skip";
this.buttonSkip.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.buttonSkip.UseVisualStyleBackColor = true;
this.buttonSkip.Click += new System.EventHandler(this.ButtonSkip_Click);
//
// BackButton
//
this.BackButton.DisabledImage = null;
this.BackButton.DownImage = global::MouseWithoutBorders.Properties.Resources.back_button_click;
this.BackButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.back_button_hover;
this.BackButton.Image = global::MouseWithoutBorders.Properties.Resources.back_button_normal;
this.BackButton.Location = new System.Drawing.Point(6, 6);
this.BackButton.Name = "BackButton";
this.BackButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.back_button_normal;
this.BackButton.Size = new System.Drawing.Size(24, 24);
this.BackButton.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.BackButton.TabIndex = 0;
this.BackButton.TabStop = false;
this.BackButton.Visible = false;
this.BackButton.Click += new System.EventHandler(this.BackButton_Click);
//
// SettingsFormPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DeepSkyBlue;
this.Controls.Add(this.buttonSkip);
this.Controls.Add(this.BackButton);
this.Name = "SettingsFormPage";
this.Size = new System.Drawing.Size(396, 345);
((System.ComponentModel.ISupportInitialize)(this.BackButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private ImageButton BackButton;
private System.Windows.Forms.Button buttonSkip;
}
}

View File

@@ -0,0 +1,66 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Windows.Forms;
using MouseWithoutBorders.Class;
using MouseWithoutBorders.Form.Settings;
namespace MouseWithoutBorders
{
public partial class SettingsFormPage : UserControl
{
public event EventHandler<PageEventArgs> NextPage;
protected bool BackButtonVisible
{
get => BackButton.Visible;
set => BackButton.Visible = value;
}
public SettingsFormPage()
{
InitializeComponent();
}
public virtual void OnPageClosing()
{
}
protected void SendNextPage(SettingsFormPage page)
{
NextPage?.Invoke(this, new PageEventArgs(page));
}
protected virtual SettingsFormPage CreateBackPage()
{
return null;
}
protected string GetSecureKey()
{
return Common.MyKey;
}
private void BackButton_Click(object sender, EventArgs e)
{
SendNextPage(CreateBackPage());
}
private void ButtonSkip_Click(object sender, EventArgs e)
{
if (MessageBox.Show(
"It is strongly recommended that you complete the setup first! Are you sure you want to skip these steps?",
Application.ProductName,
MessageBoxButtons.YesNo,
MessageBoxIcon.Warning,
MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
Setting.Values.FirstRun = false;
Common.CloseSetupForm();
Common.ShowMachineMatrix();
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,136 @@
namespace MouseWithoutBorders
{
partial class SettingsPage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.DoneButton = new MouseWithoutBorders.ImageButton();
this.CloseButton = new MouseWithoutBorders.ImageButton();
((System.ComponentModel.ISupportInitialize)(this.DoneButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.CloseButton)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 343);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 1;
//
// label1
//
this.label1.Font = new System.Drawing.Font(DefaultFont.Name, 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(61, 35);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 52);
this.label1.TabIndex = 2;
this.label1.Text = "Settings";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 99);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 2;
//
// DoneButton
//
this.DoneButton.BackColor = System.Drawing.Color.Transparent;
this.DoneButton.DisabledImage = null;
this.DoneButton.DownImage = global::MouseWithoutBorders.Properties.Resources.done_button_click;
this.DoneButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.done_button_hover;
this.DoneButton.Image = global::MouseWithoutBorders.Properties.Resources.done_button_normal;
this.DoneButton.InitialImage = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.DoneButton.Location = new System.Drawing.Point(199, 366);
this.DoneButton.Name = "DoneButton";
this.DoneButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.done_button_normal;
this.DoneButton.Size = new System.Drawing.Size(55, 55);
this.DoneButton.TabIndex = 8;
this.DoneButton.TabStop = false;
this.DoneButton.Visible = false;
this.DoneButton.Click += new System.EventHandler(this.DoneButtonClick);
//
// CloseButton
//
this.CloseButton.BackColor = System.Drawing.Color.Transparent;
this.CloseButton.DisabledImage = null;
this.CloseButton.DownImage = global::MouseWithoutBorders.Properties.Resources.close_button_click;
this.CloseButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.close_button_hover;
this.CloseButton.Image = global::MouseWithoutBorders.Properties.Resources.close_button_normal;
this.CloseButton.InitialImage = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.CloseButton.Location = new System.Drawing.Point(199, 366);
this.CloseButton.Name = "CloseButton";
this.CloseButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.close_button_normal;
this.CloseButton.Size = new System.Drawing.Size(55, 55);
this.CloseButton.TabIndex = 7;
this.CloseButton.TabStop = false;
this.CloseButton.Click += new System.EventHandler(this.CloseButtonClick);
//
// SettingsPage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.panel2);
this.Controls.Add(this.label1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.DoneButton);
this.Controls.Add(this.CloseButton);
this.DoubleBuffered = true;
this.Name = "SettingsPage";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.CloseButton, 0);
this.Controls.SetChildIndex(this.DoneButton, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel2, 0);
((System.ComponentModel.ISupportInitialize)(this.DoneButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.CloseButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel2;
private ImageButton CloseButton;
private ImageButton DoneButton;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,154 @@
namespace MouseWithoutBorders
{
partial class SettingsPage1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label2 = new System.Windows.Forms.Label();
this.AddComputerButton = new MouseWithoutBorders.ImageButton();
this.KeyboardShortcutsButton = new MouseWithoutBorders.ImageButton();
this.AdvancedOptionsButton = new MouseWithoutBorders.ImageButton();
this.LinkComputerButton = new MouseWithoutBorders.ImageButton();
this.MachineMatrix = new MouseWithoutBorders.MachineMatrix();
((System.ComponentModel.ISupportInitialize)(this.AddComputerButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.KeyboardShortcutsButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.AdvancedOptionsButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.LinkComputerButton)).BeginInit();
this.SuspendLayout();
//
// label2
//
this.label2.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(47, 106);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(310, 20);
this.label2.TabIndex = 4;
this.label2.Text = "DRAG COMPUTERS TO MATCH THEIR PHYSICAL LAYOUT";
//
// AddComputerButton
//
this.AddComputerButton.DisabledImage = null;
this.AddComputerButton.DownImage = global::MouseWithoutBorders.Properties.Resources.computer_button_click;
this.AddComputerButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.computer_button_hover;
this.AddComputerButton.Image = global::MouseWithoutBorders.Properties.Resources.computer_button_normal;
this.AddComputerButton.Location = new System.Drawing.Point(50, 317);
this.AddComputerButton.Name = "AddComputerButton";
this.AddComputerButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.computer_button_normal;
this.AddComputerButton.Size = new System.Drawing.Size(74, 23);
this.AddComputerButton.TabIndex = 9;
this.AddComputerButton.TabStop = false;
this.AddComputerButton.Click += new System.EventHandler(this.AddComputerButtonClick);
//
// KeyboardShortcutsButton
//
this.KeyboardShortcutsButton.DisabledImage = null;
this.KeyboardShortcutsButton.DownImage = global::MouseWithoutBorders.Properties.Resources.keyboard_button_click;
this.KeyboardShortcutsButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.keyboard_button_hover;
this.KeyboardShortcutsButton.Image = global::MouseWithoutBorders.Properties.Resources.keyboard_button_normal;
this.KeyboardShortcutsButton.Location = new System.Drawing.Point(327, 317);
this.KeyboardShortcutsButton.Name = "KeyboardShortcutsButton";
this.KeyboardShortcutsButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.keyboard_button_normal;
this.KeyboardShortcutsButton.Size = new System.Drawing.Size(84, 23);
this.KeyboardShortcutsButton.TabIndex = 11;
this.KeyboardShortcutsButton.TabStop = false;
this.KeyboardShortcutsButton.Click += new System.EventHandler(this.KeyboardShortcutsButtonClick);
//
// AdvancedOptionsButton
//
this.AdvancedOptionsButton.DisabledImage = null;
this.AdvancedOptionsButton.DownImage = global::MouseWithoutBorders.Properties.Resources.advanced_button_click;
this.AdvancedOptionsButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.advanced_button_hover;
this.AdvancedOptionsButton.Image = global::MouseWithoutBorders.Properties.Resources.advanced_button_normal;
this.AdvancedOptionsButton.Location = new System.Drawing.Point(244, 317);
this.AdvancedOptionsButton.Name = "AdvancedOptionsButton";
this.AdvancedOptionsButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.advanced_button_normal;
this.AdvancedOptionsButton.Size = new System.Drawing.Size(74, 23);
this.AdvancedOptionsButton.TabIndex = 12;
this.AdvancedOptionsButton.TabStop = false;
this.AdvancedOptionsButton.Click += new System.EventHandler(this.AdvancedOptionsButtonClick);
//
// LinkComputerButton
//
this.LinkComputerButton.DisabledImage = null;
this.LinkComputerButton.DownImage = global::MouseWithoutBorders.Properties.Resources.small_link_button_click;
this.LinkComputerButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.small_link_button_hover;
this.LinkComputerButton.Image = global::MouseWithoutBorders.Properties.Resources.small_link_button_normal;
this.LinkComputerButton.Location = new System.Drawing.Point(133, 317);
this.LinkComputerButton.Name = "LinkComputerButton";
this.LinkComputerButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.small_link_button_normal;
this.LinkComputerButton.Size = new System.Drawing.Size(74, 23);
this.LinkComputerButton.TabIndex = 13;
this.LinkComputerButton.TabStop = false;
this.LinkComputerButton.Click += new System.EventHandler(this.LinkComputersButtonClick);
//
// machineMatrix1
//
this.MachineMatrix.BackColor = System.Drawing.Color.Transparent;
this.MachineMatrix.Location = new System.Drawing.Point(50, 121);
this.MachineMatrix.Name = "MachineMatrix";
this.MachineMatrix.Size = new System.Drawing.Size(360, 195);
this.MachineMatrix.TabIndex = 14;
this.MachineMatrix.TwoRows = false;
//
// SettingsPage1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.MachineMatrix);
this.Controls.Add(this.LinkComputerButton);
this.Controls.Add(this.AdvancedOptionsButton);
this.Controls.Add(this.KeyboardShortcutsButton);
this.Controls.Add(this.AddComputerButton);
this.Controls.Add(this.label2);
this.Name = "SettingsPage1";
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.AddComputerButton, 0);
this.Controls.SetChildIndex(this.KeyboardShortcutsButton, 0);
this.Controls.SetChildIndex(this.AdvancedOptionsButton, 0);
this.Controls.SetChildIndex(this.LinkComputerButton, 0);
this.Controls.SetChildIndex(this.MachineMatrix, 0);
((System.ComponentModel.ISupportInitialize)(this.AddComputerButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.KeyboardShortcutsButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.AdvancedOptionsButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.LinkComputerButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label2;
private ImageButton AddComputerButton;
private ImageButton KeyboardShortcutsButton;
private ImageButton AdvancedOptionsButton;
private ImageButton LinkComputerButton;
private MachineMatrix MachineMatrix;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,123 @@
namespace MouseWithoutBorders
{
partial class SettingsPage2
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label2 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.MachineNameLabel = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.SecurityKeyLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label2
//
this.label2.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(47, 112);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(310, 75);
this.label2.TabIndex = 9;
this.label2.Text = "You know the drill! Just keep this window open or write down the information below, then head over to your" +
" other computer and install Mouse w/o Borders. You can finish the setup and conf" +
"iguration over there.";
//
// label4
//
this.label4.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label4.Location = new System.Drawing.Point(73, 267);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(310, 15);
this.label4.TabIndex = 13;
this.label4.Text = "THIS COMPUTER\'S NAME";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// MachineNameLabel
//
this.MachineNameLabel.Font = new System.Drawing.Font(DefaultFont.Name, 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.MachineNameLabel.ForeColor = System.Drawing.Color.White;
this.MachineNameLabel.Location = new System.Drawing.Point(50, 279);
this.MachineNameLabel.Name = "MachineNameLabel";
this.MachineNameLabel.Size = new System.Drawing.Size(340, 61);
this.MachineNameLabel.TabIndex = 12;
this.MachineNameLabel.Text = "Alan - Desktop";
this.MachineNameLabel.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// label6
//
this.label6.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(73, 208);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(310, 15);
this.label6.TabIndex = 11;
this.label6.Text = "SECURITY CODE";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SecurityKeyLabel
//
this.SecurityKeyLabel.Font = new System.Drawing.Font(DefaultFont.Name, 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SecurityKeyLabel.ForeColor = System.Drawing.Color.White;
this.SecurityKeyLabel.Location = new System.Drawing.Point(70, 216);
this.SecurityKeyLabel.Name = "SecurityKeyLabel";
this.SecurityKeyLabel.Size = new System.Drawing.Size(310, 40);
this.SecurityKeyLabel.TabIndex = 10;
this.SecurityKeyLabel.Text = "SX1q04Wr";
this.SecurityKeyLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SettingsPage2
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.label4);
this.Controls.Add(this.MachineNameLabel);
this.Controls.Add(this.label6);
this.Controls.Add(this.SecurityKeyLabel);
this.Controls.Add(this.label2);
this.Name = "SettingsPage2";
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.SecurityKeyLabel, 0);
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.MachineNameLabel, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label MachineNameLabel;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label SecurityKeyLabel;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,233 @@
namespace MouseWithoutBorders
{
partial class SettingsPage3
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label6 = new System.Windows.Forms.Label();
this.EditLink = new System.Windows.Forms.LinkLabel();
this.ShareClipboardCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.HideOnLoginCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.EnableEasyMouseCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.WrapMouseCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.DisableCADCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.BlockScreenSaverCheckbox = new MouseWithoutBorders.ImageCheckButton();
this.label3 = new System.Windows.Forms.Label();
this.SecurityCodeLabel = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label6
//
this.label6.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(51, 119);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(350, 15);
this.label6.TabIndex = 12;
this.label6.Tag = " ";
this.label6.Text = "ADVANCED OPTIONS";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// EditLink
//
this.EditLink.AutoSize = true;
this.EditLink.LinkColor = System.Drawing.Color.White;
this.EditLink.Location = new System.Drawing.Point(202, 146);
this.EditLink.Name = "EditLink";
this.EditLink.Size = new System.Drawing.Size(104, 13);
this.EditLink.TabIndex = 15;
this.EditLink.TabStop = true;
this.EditLink.Text = "Generate New Code";
this.EditLink.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.EditLink_LinkClicked);
//
// ShareClipboardCheckbox
//
this.ShareClipboardCheckbox.AutoSize = true;
this.ShareClipboardCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.ShareClipboardCheckbox.DisabledImage = null;
this.ShareClipboardCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F);
this.ShareClipboardCheckbox.Location = new System.Drawing.Point(54, 188);
this.ShareClipboardCheckbox.MixedImage = null;
this.ShareClipboardCheckbox.Name = "ShareClipboardCheckbox";
this.ShareClipboardCheckbox.Size = new System.Drawing.Size(128, 34);
this.ShareClipboardCheckbox.TabIndex = 16;
this.ShareClipboardCheckbox.Text = "Share Clipboard (Text \r\nand Image)";
this.ShareClipboardCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.ShareClipboardCheckbox.UseVisualStyleBackColor = true;
this.ShareClipboardCheckbox.CheckedChanged += new System.EventHandler(this.ShareClipboardCheckbox_CheckedChanged);
//
// HideOnLoginCheckbox
//
this.HideOnLoginCheckbox.AutoSize = true;
this.HideOnLoginCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.HideOnLoginCheckbox.DisabledImage = null;
this.HideOnLoginCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F);
this.HideOnLoginCheckbox.Location = new System.Drawing.Point(54, 238);
this.HideOnLoginCheckbox.MixedImage = null;
this.HideOnLoginCheckbox.Name = "HideOnLoginCheckbox";
this.HideOnLoginCheckbox.Size = new System.Drawing.Size(143, 34);
this.HideOnLoginCheckbox.TabIndex = 17;
this.HideOnLoginCheckbox.Text = "Hide Mouse w/o Borders \r\non the Login Desktop";
this.HideOnLoginCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.HideOnLoginCheckbox.UseVisualStyleBackColor = true;
this.HideOnLoginCheckbox.CheckedChanged += new System.EventHandler(this.HideOnLoginCheckbox_CheckedChanged);
//
// EnableEasyMouseCheckbox
//
this.EnableEasyMouseCheckbox.AutoSize = true;
this.EnableEasyMouseCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.EnableEasyMouseCheckbox.DisabledImage = null;
this.EnableEasyMouseCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F);
this.EnableEasyMouseCheckbox.Location = new System.Drawing.Point(54, 288);
this.EnableEasyMouseCheckbox.MixedImage = null;
this.EnableEasyMouseCheckbox.Name = "EnableEasyMouseCheckbox";
this.EnableEasyMouseCheckbox.Size = new System.Drawing.Size(114, 19);
this.EnableEasyMouseCheckbox.TabIndex = 18;
this.EnableEasyMouseCheckbox.Text = "Enable Easy Mouse";
this.EnableEasyMouseCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.EnableEasyMouseCheckbox.UseVisualStyleBackColor = true;
this.EnableEasyMouseCheckbox.CheckedChanged += new System.EventHandler(this.EnableEasyMouseCheckbox_CheckedChanged);
//
// WrapMouseCheckbox
//
this.WrapMouseCheckbox.AutoSize = true;
this.WrapMouseCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.WrapMouseCheckbox.DisabledImage = null;
this.WrapMouseCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.WrapMouseCheckbox.Location = new System.Drawing.Point(238, 288);
this.WrapMouseCheckbox.MixedImage = null;
this.WrapMouseCheckbox.Name = "WrapMouseCheckbox";
this.WrapMouseCheckbox.Size = new System.Drawing.Size(85, 19);
this.WrapMouseCheckbox.TabIndex = 19;
this.WrapMouseCheckbox.Text = "Wrap Mouse";
this.WrapMouseCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.WrapMouseCheckbox.UseVisualStyleBackColor = true;
this.WrapMouseCheckbox.CheckedChanged += new System.EventHandler(this.WrapMouseCheckbox_CheckedChanged);
//
// DisableCADCheckbox
//
this.DisableCADCheckbox.AutoSize = true;
this.DisableCADCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.DisableCADCheckbox.DisabledImage = null;
this.DisableCADCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F);
this.DisableCADCheckbox.Location = new System.Drawing.Point(238, 188);
this.DisableCADCheckbox.MixedImage = null;
this.DisableCADCheckbox.Name = "DisableCADCheckbox";
this.DisableCADCheckbox.Size = new System.Drawing.Size(154, 34);
this.DisableCADCheckbox.TabIndex = 20;
this.DisableCADCheckbox.Text = "Disable Ctrl+Alt+Del on the \r\nLogin Screen";
this.DisableCADCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.DisableCADCheckbox.UseVisualStyleBackColor = true;
this.DisableCADCheckbox.CheckedChanged += new System.EventHandler(this.DisableCADCheckbox_CheckedChanged);
//
// BlockScreenSaverCheckbox
//
this.BlockScreenSaverCheckbox.AutoSize = true;
this.BlockScreenSaverCheckbox.CheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_checked;
this.BlockScreenSaverCheckbox.DisabledImage = null;
this.BlockScreenSaverCheckbox.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F);
this.BlockScreenSaverCheckbox.Location = new System.Drawing.Point(238, 238);
this.BlockScreenSaverCheckbox.MixedImage = null;
this.BlockScreenSaverCheckbox.Name = "BlockScreenSaverCheckbox";
this.BlockScreenSaverCheckbox.Size = new System.Drawing.Size(158, 34);
this.BlockScreenSaverCheckbox.TabIndex = 21;
this.BlockScreenSaverCheckbox.Text = "Block Screen Saver on Other\r\nMachines";
this.BlockScreenSaverCheckbox.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.checkbox_unchecked;
this.BlockScreenSaverCheckbox.UseVisualStyleBackColor = true;
this.BlockScreenSaverCheckbox.CheckedChanged += new System.EventHandler(this.BlockScreenSaverCheckbox_CheckedChanged);
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(51, 144);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(79, 16);
this.label3.TabIndex = 13;
this.label3.Text = "Security Code:";
//
// SecurityCodeLabel
//
this.SecurityCodeLabel.AutoSize = true;
this.SecurityCodeLabel.BackColor = System.Drawing.Color.Transparent;
this.SecurityCodeLabel.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SecurityCodeLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.SecurityCodeLabel.Location = new System.Drawing.Point(134, 144);
this.SecurityCodeLabel.Name = "SecurityCodeLabel";
this.SecurityCodeLabel.Size = new System.Drawing.Size(67, 16);
this.SecurityCodeLabel.TabIndex = 14;
this.SecurityCodeLabel.Text = "SX1q04Wr";
//
// SettingsPage3
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.BlockScreenSaverCheckbox);
this.Controls.Add(this.DisableCADCheckbox);
this.Controls.Add(this.WrapMouseCheckbox);
this.Controls.Add(this.EnableEasyMouseCheckbox);
this.Controls.Add(this.HideOnLoginCheckbox);
this.Controls.Add(this.ShareClipboardCheckbox);
this.Controls.Add(this.EditLink);
this.Controls.Add(this.SecurityCodeLabel);
this.Controls.Add(this.label3);
this.Controls.Add(this.label6);
this.Name = "SettingsPage3";
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.SecurityCodeLabel, 0);
this.Controls.SetChildIndex(this.EditLink, 0);
this.Controls.SetChildIndex(this.ShareClipboardCheckbox, 0);
this.Controls.SetChildIndex(this.HideOnLoginCheckbox, 0);
this.Controls.SetChildIndex(this.EnableEasyMouseCheckbox, 0);
this.Controls.SetChildIndex(this.WrapMouseCheckbox, 0);
this.Controls.SetChildIndex(this.DisableCADCheckbox, 0);
this.Controls.SetChildIndex(this.BlockScreenSaverCheckbox, 0);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label6;
private System.Windows.Forms.LinkLabel EditLink;
private ImageCheckButton ShareClipboardCheckbox;
private ImageCheckButton HideOnLoginCheckbox;
private ImageCheckButton EnableEasyMouseCheckbox;
private ImageCheckButton WrapMouseCheckbox;
private ImageCheckButton DisableCADCheckbox;
private ImageCheckButton BlockScreenSaverCheckbox;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label SecurityCodeLabel;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,697 @@
namespace MouseWithoutBorders
{
partial class SettingsPage4
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label6 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label5 = new System.Windows.Forms.Label();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.label9 = new System.Windows.Forms.Label();
this.label10 = new System.Windows.Forms.Label();
this.label11 = new System.Windows.Forms.Label();
this.label12 = new System.Windows.Forms.Label();
this.label13 = new System.Windows.Forms.Label();
this.AllPcLabel = new System.Windows.Forms.Label();
this.DisabledRadioButton = new MouseWithoutBorders.ImageRadioButton();
this.NumbersRadioButton = new MouseWithoutBorders.ImageRadioButton();
this.FKeysRadioButton = new MouseWithoutBorders.ImageRadioButton();
this.ShowSettingsComboBox = new System.Windows.Forms.ComboBox();
this.LockComboBox = new System.Windows.Forms.ComboBox();
this.ReconnectComboBox = new System.Windows.Forms.ComboBox();
this.ExitComboBox = new System.Windows.Forms.ComboBox();
this.AllPcComboBox = new System.Windows.Forms.ComboBox();
this.panel3 = new System.Windows.Forms.Panel();
this.panel3.SuspendLayout();
this.SuspendLayout();
//
// label6
//
this.label6.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(51, 119);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(310, 15);
this.label6.TabIndex = 12;
this.label6.Tag = " ";
this.label6.Text = "KEYBOARD SHORTCUTS";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(51, 147);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(134, 16);
this.label2.TabIndex = 14;
this.label2.Text = "Switch between machines";
//
// label3
//
this.label3.AutoSize = true;
this.label3.BackColor = System.Drawing.Color.Transparent;
this.label3.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(51, 215);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(78, 16);
this.label3.TabIndex = 15;
this.label3.Text = "Show Settings";
//
// label4
//
this.label4.AutoSize = true;
this.label4.BackColor = System.Drawing.Color.Transparent;
this.label4.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(51, 239);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(147, 16);
this.label4.TabIndex = 16;
this.label4.Text = "Lock the controlled machine";
//
// label5
//
this.label5.AutoSize = true;
this.label5.BackColor = System.Drawing.Color.Transparent;
this.label5.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Location = new System.Drawing.Point(51, 263);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(153, 16);
this.label5.TabIndex = 17;
this.label5.Text = "Reconnect to other machines";
//
// label7
//
this.label7.AutoSize = true;
this.label7.BackColor = System.Drawing.Color.Transparent;
this.label7.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label7.ForeColor = System.Drawing.Color.White;
this.label7.Location = new System.Drawing.Point(51, 287);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(127, 16);
this.label7.TabIndex = 18;
this.label7.Text = "Exit Mouse w/o Borders";
//
// label8
//
this.label8.AutoSize = true;
this.label8.BackColor = System.Drawing.Color.Transparent;
this.label8.Font = new System.Drawing.Font(DefaultFont.Name, 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label8.ForeColor = System.Drawing.Color.White;
this.label8.Location = new System.Drawing.Point(51, 311);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(131, 16);
this.label8.TabIndex = 19;
this.label8.Text = "Switch to ALL PC mode";
//
// label9
//
this.label9.AutoSize = true;
this.label9.BackColor = System.Drawing.Color.Transparent;
this.label9.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.label9.ForeColor = System.Drawing.Color.White;
this.label9.Location = new System.Drawing.Point(238, 147);
this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(66, 16);
this.label9.TabIndex = 20;
this.label9.Text = "Ctrl + Alt +";
//
// label10
//
this.label10.AutoSize = true;
this.label10.BackColor = System.Drawing.Color.Transparent;
this.label10.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.label10.ForeColor = System.Drawing.Color.White;
this.label10.Location = new System.Drawing.Point(238, 215);
this.label10.Name = "label10";
this.label10.Size = new System.Drawing.Size(66, 16);
this.label10.TabIndex = 21;
this.label10.Text = "Ctrl + Alt +";
//
// label11
//
this.label11.AutoSize = true;
this.label11.BackColor = System.Drawing.Color.Transparent;
this.label11.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.label11.ForeColor = System.Drawing.Color.White;
this.label11.Location = new System.Drawing.Point(238, 239);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(66, 16);
this.label11.TabIndex = 22;
this.label11.Text = "Ctrl + Alt +";
//
// label12
//
this.label12.AutoSize = true;
this.label12.BackColor = System.Drawing.Color.Transparent;
this.label12.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.label12.ForeColor = System.Drawing.Color.White;
this.label12.Location = new System.Drawing.Point(238, 263);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(66, 16);
this.label12.TabIndex = 23;
this.label12.Text = "Ctrl + Alt +";
//
// label13
//
this.label13.AutoSize = true;
this.label13.BackColor = System.Drawing.Color.Transparent;
this.label13.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.label13.ForeColor = System.Drawing.Color.White;
this.label13.Location = new System.Drawing.Point(200, 287);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(104, 16);
this.label13.TabIndex = 24;
this.label13.Text = "Ctrl + Alt + Shift +";
//
// AllPcLabel
//
this.AllPcLabel.AutoSize = true;
this.AllPcLabel.BackColor = System.Drawing.Color.Transparent;
this.AllPcLabel.Font = new System.Drawing.Font(DefaultFont.Name, 9F);
this.AllPcLabel.ForeColor = System.Drawing.Color.White;
this.AllPcLabel.Location = new System.Drawing.Point(238, 311);
this.AllPcLabel.Name = "AllPcLabel";
this.AllPcLabel.Size = new System.Drawing.Size(66, 16);
this.AllPcLabel.TabIndex = 25;
this.AllPcLabel.Text = "Ctrl + Alt +";
//
// DisabledRadioButton
//
this.DisabledRadioButton.AutoSize = true;
this.DisabledRadioButton.CheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_checked;
this.DisabledRadioButton.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.DisabledRadioButton.ForeColor = System.Drawing.Color.White;
this.DisabledRadioButton.ImageLocation = new System.Drawing.Point(0, 3);
this.DisabledRadioButton.Location = new System.Drawing.Point(4, 39);
this.DisabledRadioButton.Name = "DisabledRadioButton";
this.DisabledRadioButton.Size = new System.Drawing.Size(67, 19);
this.DisabledRadioButton.TabIndex = 2;
this.DisabledRadioButton.Text = "Disabled";
this.DisabledRadioButton.TextLocation = new System.Drawing.Point(14, 0);
this.DisabledRadioButton.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_unchecked;
this.DisabledRadioButton.UseVisualStyleBackColor = true;
this.DisabledRadioButton.CheckedChanged += new System.EventHandler(this.DisabledRadioButton_CheckedChanged);
//
// NumbersRadioButton
//
this.NumbersRadioButton.AutoSize = true;
this.NumbersRadioButton.CheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_checked;
this.NumbersRadioButton.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.NumbersRadioButton.ForeColor = System.Drawing.Color.White;
this.NumbersRadioButton.ImageLocation = new System.Drawing.Point(0, 3);
this.NumbersRadioButton.Location = new System.Drawing.Point(4, 21);
this.NumbersRadioButton.Name = "NumbersRadioButton";
this.NumbersRadioButton.Size = new System.Drawing.Size(64, 19);
this.NumbersRadioButton.TabIndex = 1;
this.NumbersRadioButton.Text = "1, 2, 3, 4";
this.NumbersRadioButton.TextLocation = new System.Drawing.Point(14, 0);
this.NumbersRadioButton.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_unchecked;
this.NumbersRadioButton.UseVisualStyleBackColor = true;
this.NumbersRadioButton.CheckedChanged += new System.EventHandler(this.NumbersRadioButton_CheckedChanged);
//
// FKeysRadioButton
//
this.FKeysRadioButton.AutoSize = true;
this.FKeysRadioButton.CheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_checked;
this.FKeysRadioButton.Font = new System.Drawing.Font(DefaultFont.Name, 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FKeysRadioButton.ForeColor = System.Drawing.Color.White;
this.FKeysRadioButton.ImageLocation = new System.Drawing.Point(0, 3);
this.FKeysRadioButton.Location = new System.Drawing.Point(4, 4);
this.FKeysRadioButton.Name = "FKeysRadioButton";
this.FKeysRadioButton.Size = new System.Drawing.Size(84, 19);
this.FKeysRadioButton.TabIndex = 0;
this.FKeysRadioButton.Text = "F1, F2, F3, F4";
this.FKeysRadioButton.TextLocation = new System.Drawing.Point(14, 0);
this.FKeysRadioButton.UncheckedImage = global::MouseWithoutBorders.Properties.Resources.radio_button_unchecked;
this.FKeysRadioButton.UseVisualStyleBackColor = true;
this.FKeysRadioButton.CheckedChanged += new System.EventHandler(this.FKeysRadioButton_CheckedChanged);
//
// ShowSettingsComboBox
//
this.ShowSettingsComboBox.AutoCompleteCustomSource.AddRange(new string[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ShowSettingsComboBox.DisplayMember = "M";
this.ShowSettingsComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ShowSettingsComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
this.ShowSettingsComboBox.FormattingEnabled = true;
this.ShowSettingsComboBox.Items.AddRange(new object[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ShowSettingsComboBox.Location = new System.Drawing.Point(310, 214);
this.ShowSettingsComboBox.MaxDropDownItems = 27;
this.ShowSettingsComboBox.Name = "ShowSettingsComboBox";
this.ShowSettingsComboBox.Size = new System.Drawing.Size(88, 21);
this.ShowSettingsComboBox.TabIndex = 27;
this.ShowSettingsComboBox.SelectedIndexChanged += new System.EventHandler(this.ShowSettingsComboBox_SelectedIndexChanged);
//
// LockComboBox
//
this.LockComboBox.AutoCompleteCustomSource.AddRange(new string[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.LockComboBox.DisplayMember = "M";
this.LockComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.LockComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.LockComboBox.FormattingEnabled = true;
this.LockComboBox.Items.AddRange(new object[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.LockComboBox.Location = new System.Drawing.Point(310, 238);
this.LockComboBox.MaxDropDownItems = 27;
this.LockComboBox.Name = "LockComboBox";
this.LockComboBox.Size = new System.Drawing.Size(88, 21);
this.LockComboBox.TabIndex = 28;
this.LockComboBox.SelectedIndexChanged += new System.EventHandler(this.LockComboBox_SelectedIndexChanged);
//
// ReconnectComboBox
//
this.ReconnectComboBox.AutoCompleteCustomSource.AddRange(new string[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ReconnectComboBox.DisplayMember = "M";
this.ReconnectComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ReconnectComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ReconnectComboBox.FormattingEnabled = true;
this.ReconnectComboBox.Items.AddRange(new object[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ReconnectComboBox.Location = new System.Drawing.Point(310, 262);
this.ReconnectComboBox.MaxDropDownItems = 27;
this.ReconnectComboBox.Name = "ReconnectComboBox";
this.ReconnectComboBox.Size = new System.Drawing.Size(88, 21);
this.ReconnectComboBox.TabIndex = 29;
this.ReconnectComboBox.SelectedIndexChanged += new System.EventHandler(this.ReconnectComboBox_SelectedIndexChanged);
//
// ExitComboBox
//
this.ExitComboBox.AutoCompleteCustomSource.AddRange(new string[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ExitComboBox.DisplayMember = "M";
this.ExitComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.ExitComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.ExitComboBox.FormattingEnabled = true;
this.ExitComboBox.Items.AddRange(new object[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.ExitComboBox.Location = new System.Drawing.Point(310, 286);
this.ExitComboBox.MaxDropDownItems = 27;
this.ExitComboBox.Name = "ExitComboBox";
this.ExitComboBox.Size = new System.Drawing.Size(88, 21);
this.ExitComboBox.TabIndex = 30;
this.ExitComboBox.SelectedIndexChanged += new System.EventHandler(this.ExitComboBox_SelectedIndexChanged);
//
// AllPcComboBox
//
this.AllPcComboBox.AutoCompleteCustomSource.AddRange(new string[] {
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.AllPcComboBox.DisplayMember = "M";
this.AllPcComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.AllPcComboBox.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.AllPcComboBox.FormattingEnabled = true;
this.AllPcComboBox.Items.AddRange(new object[] {
"Ctrl x 3",
"Disabled",
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"});
this.AllPcComboBox.Location = new System.Drawing.Point(310, 310);
this.AllPcComboBox.MaxDropDownItems = 27;
this.AllPcComboBox.Name = "AllPcComboBox";
this.AllPcComboBox.Size = new System.Drawing.Size(88, 21);
this.AllPcComboBox.TabIndex = 31;
this.AllPcComboBox.SelectedIndexChanged += new System.EventHandler(this.AllPcComboBox_SelectedIndexChanged);
//
// panel3
//
this.panel3.Controls.Add(this.DisabledRadioButton);
this.panel3.Controls.Add(this.NumbersRadioButton);
this.panel3.Controls.Add(this.FKeysRadioButton);
this.panel3.Location = new System.Drawing.Point(310, 144);
this.panel3.Name = "panel3";
this.panel3.Size = new System.Drawing.Size(88, 64);
this.panel3.TabIndex = 26;
//
// SettingsPage4
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.AllPcComboBox);
this.Controls.Add(this.ExitComboBox);
this.Controls.Add(this.ReconnectComboBox);
this.Controls.Add(this.LockComboBox);
this.Controls.Add(this.ShowSettingsComboBox);
this.Controls.Add(this.panel3);
this.Controls.Add(this.AllPcLabel);
this.Controls.Add(this.label13);
this.Controls.Add(this.label12);
this.Controls.Add(this.label11);
this.Controls.Add(this.label10);
this.Controls.Add(this.label9);
this.Controls.Add(this.label8);
this.Controls.Add(this.label7);
this.Controls.Add(this.label5);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.label6);
this.Name = "SettingsPage4";
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.Controls.SetChildIndex(this.label5, 0);
this.Controls.SetChildIndex(this.label7, 0);
this.Controls.SetChildIndex(this.label8, 0);
this.Controls.SetChildIndex(this.label9, 0);
this.Controls.SetChildIndex(this.label10, 0);
this.Controls.SetChildIndex(this.label11, 0);
this.Controls.SetChildIndex(this.label12, 0);
this.Controls.SetChildIndex(this.label13, 0);
this.Controls.SetChildIndex(this.AllPcLabel, 0);
this.Controls.SetChildIndex(this.panel3, 0);
this.Controls.SetChildIndex(this.ShowSettingsComboBox, 0);
this.Controls.SetChildIndex(this.LockComboBox, 0);
this.Controls.SetChildIndex(this.ReconnectComboBox, 0);
this.Controls.SetChildIndex(this.ExitComboBox, 0);
this.Controls.SetChildIndex(this.AllPcComboBox, 0);
this.panel3.ResumeLayout(false);
this.panel3.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label9;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.Label label11;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label13;
private System.Windows.Forms.Label AllPcLabel;
private ImageRadioButton FKeysRadioButton;
private ImageRadioButton DisabledRadioButton;
private ImageRadioButton NumbersRadioButton;
private System.Windows.Forms.ComboBox ShowSettingsComboBox;
private System.Windows.Forms.ComboBox LockComboBox;
private System.Windows.Forms.ComboBox ReconnectComboBox;
private System.Windows.Forms.ComboBox ExitComboBox;
private System.Windows.Forms.ComboBox AllPcComboBox;
private System.Windows.Forms.Panel panel3;
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,196 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage1
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.NoButton = new MouseWithoutBorders.ImageButton();
this.YesButton = new MouseWithoutBorders.ImageButton();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.NoButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.YesButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 96);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 1;
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(61, 102);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 52);
this.label1.TabIndex = 2;
this.label1.Text = "Let\'s get started";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 166);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 2;
//
// label2
//
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(61, 185);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(310, 40);
this.label2.TabIndex = 3;
this.label2.Text = "We need to know if you have already set up Mouse w/o Borders on the computer you " +
"want to link to.";
//
// label3
//
this.label3.Font = new System.Drawing.Font(Control.DefaultFont.Name, 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(61, 240);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(310, 60);
this.label3.TabIndex = 4;
this.label3.Text = "Have you already installed Mouse without Borders on another computer?";
//
// label4
//
this.label4.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(61, 278);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(310, 20);
this.label4.TabIndex = 5;
this.label4.Text = "";
//
// NoButton
//
this.NoButton.BackColor = System.Drawing.Color.Transparent;
this.NoButton.DisabledImage = null;
this.NoButton.DownImage = global::MouseWithoutBorders.Properties.Resources.no_button_click;
this.NoButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.no_button_hover;
this.NoButton.Image = global::MouseWithoutBorders.Properties.Resources.no_button_normal;
this.NoButton.InitialImage = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.NoButton.Location = new System.Drawing.Point(234, 366);
this.NoButton.Name = "NoButton";
this.NoButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.no_button_normal;
this.NoButton.Size = new System.Drawing.Size(55, 55);
this.NoButton.TabIndex = 7;
this.NoButton.TabStop = false;
this.NoButton.Click += new System.EventHandler(this.NoButtonClick);
//
// YesButton
//
this.YesButton.BackColor = System.Drawing.Color.Transparent;
this.YesButton.DisabledImage = null;
this.YesButton.DownImage = global::MouseWithoutBorders.Properties.Resources.yes_button_click;
this.YesButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.yes_button_hover;
this.YesButton.Image = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.YesButton.InitialImage = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.YesButton.Location = new System.Drawing.Point(164, 366);
this.YesButton.Name = "YesButton";
this.YesButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.yes_button_normal;
this.YesButton.Size = new System.Drawing.Size(55, 55);
this.YesButton.TabIndex = 6;
this.YesButton.TabStop = false;
this.YesButton.Click += new System.EventHandler(this.YesButtonClick);
//
// pictureBox1
//
this.pictureBox1.Image = global::MouseWithoutBorders.Properties.Resources.Mouse;
this.pictureBox1.Location = new System.Drawing.Point(206, 40);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(41, 36);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// SetupPage1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.NoButton);
this.Controls.Add(this.YesButton);
this.Controls.Add(this.label4);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.panel2);
this.Controls.Add(this.label1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.pictureBox1);
this.DoubleBuffered = true;
this.Name = "SetupPage1";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.pictureBox1, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel2, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.Controls.SetChildIndex(this.YesButton, 0);
this.Controls.SetChildIndex(this.NoButton, 0);
((System.ComponentModel.ISupportInitialize)(this.NoButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.YesButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private ImageButton YesButton;
private ImageButton NoButton;
}
}

View File

@@ -0,0 +1,28 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
namespace MouseWithoutBorders
{
public partial class SetupPage1 : SettingsFormPage
{
public SetupPage1()
{
InitializeComponent();
Common.ClearComputerMatrix();
}
private void NoButtonClick(object sender, EventArgs e)
{
SendNextPage(new SetupPage2b());
}
private void YesButtonClick(object sender, EventArgs e)
{
SendNextPage(new SetupPage2aa());
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,214 @@
namespace MouseWithoutBorders
{
using System.Windows.Forms;
partial class SetupPage2a
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label6 = new System.Windows.Forms.Label();
this.SecurityCodeField = new MouseWithoutBorders.ColorBorderField();
this.ComputerNameField = new MouseWithoutBorders.ColorBorderField();
this.label3 = new System.Windows.Forms.Label();
this.LinkButton = new MouseWithoutBorders.ImageButton();
this.label2 = new System.Windows.Forms.Label();
this.ExpandHelpButton = new MouseWithoutBorders.ImageButton();
this.CollapseHelpButton = new MouseWithoutBorders.ImageButton();
this.HelpLabel = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.LinkButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.ExpandHelpButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.CollapseHelpButton)).BeginInit();
this.SuspendLayout();
//
// label6
//
this.label6.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(98, 208);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(130, 18);
this.label6.TabIndex = 7;
this.label6.Text = "SECURITY CODE";
this.label6.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// SecurityCodeField
//
this.SecurityCodeField.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(177)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.SecurityCodeField.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(177)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.SecurityCodeField.BorderSize = 2;
this.SecurityCodeField.FocusColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(176)))), ((int)(((byte)(64)))));
this.SecurityCodeField.Font = new System.Drawing.Font(Control.DefaultFont.Name, 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SecurityCodeField.Location = new System.Drawing.Point(80, 226);
this.SecurityCodeField.Margin = new System.Windows.Forms.Padding(0);
this.SecurityCodeField.MaximumLength = 22;
this.SecurityCodeField.Name = "SecurityCodeField";
this.SecurityCodeField.Size = new System.Drawing.Size(300, 30);
this.SecurityCodeField.TabIndex = 0;
this.SecurityCodeField.FieldTextChanged += new System.EventHandler(this.SecurityCodeFieldFieldTextChanged);
//
// ComputerNameField
//
this.ComputerNameField.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(177)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.ComputerNameField.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(177)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.ComputerNameField.BorderSize = 2;
this.ComputerNameField.FocusColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(176)))), ((int)(((byte)(64)))));
this.ComputerNameField.Font = new System.Drawing.Font(Control.DefaultFont.Name, 18F);
this.ComputerNameField.Location = new System.Drawing.Point(80, 280);
this.ComputerNameField.Margin = new System.Windows.Forms.Padding(0);
this.ComputerNameField.MaximumLength = 126;
this.ComputerNameField.Name = "ComputerNameField";
this.ComputerNameField.Size = new System.Drawing.Size(300, 30);
this.ComputerNameField.TabIndex = 1;
this.ComputerNameField.FieldTextChanged += new System.EventHandler(this.ComputerNameFieldFieldTextChanged);
//
// label3
//
this.label3.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label3.Location = new System.Drawing.Point(98, 262);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(262, 18);
this.label3.TabIndex = 13;
this.label3.Text = "OTHER COMPUTER\'S NAME";
this.label3.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// LinkButton
//
this.LinkButton.DisabledImage = global::MouseWithoutBorders.Properties.Resources.link_button_disabled;
this.LinkButton.DownImage = global::MouseWithoutBorders.Properties.Resources.link_button_click;
this.LinkButton.Enabled = false;
this.LinkButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.link_button_hover;
this.LinkButton.Image = global::MouseWithoutBorders.Properties.Resources.link_button_normal;
this.LinkButton.Location = new System.Drawing.Point(199, 366);
this.LinkButton.Name = "LinkButton";
this.LinkButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.link_button_normal;
this.LinkButton.Size = new System.Drawing.Size(55, 55);
this.LinkButton.TabIndex = 15;
this.LinkButton.TabStop = false;
this.LinkButton.Click += new System.EventHandler(this.LinkButtonClick);
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(213, 208);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(128, 16);
this.label2.TabIndex = 23;
this.label2.Text = "Where can I find this?";
//
// ExpandHelpButton
//
this.ExpandHelpButton.DisabledImage = null;
this.ExpandHelpButton.DownImage = global::MouseWithoutBorders.Properties.Resources.expand_button_click;
this.ExpandHelpButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.expand_button_highlight;
this.ExpandHelpButton.Image = global::MouseWithoutBorders.Properties.Resources.expand_button_normal;
this.ExpandHelpButton.Location = new System.Drawing.Point(360, 211);
this.ExpandHelpButton.Name = "ExpandHelpButton";
this.ExpandHelpButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.expand_button_normal;
this.ExpandHelpButton.Size = new System.Drawing.Size(11, 11);
this.ExpandHelpButton.TabIndex = 24;
this.ExpandHelpButton.TabStop = false;
this.ExpandHelpButton.Click += new System.EventHandler(this.ExpandHelpButtonClick);
//
// CollapseHelpButton
//
this.CollapseHelpButton.DisabledImage = null;
this.CollapseHelpButton.DownImage = global::MouseWithoutBorders.Properties.Resources.collapse_button_click;
this.CollapseHelpButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.collapse_button_hover;
this.CollapseHelpButton.Image = global::MouseWithoutBorders.Properties.Resources.collapse_button_normal;
this.CollapseHelpButton.Location = new System.Drawing.Point(360, 211);
this.CollapseHelpButton.Name = "CollapseHelpButton";
this.CollapseHelpButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.collapse_button_normal;
this.CollapseHelpButton.Size = new System.Drawing.Size(11, 11);
this.CollapseHelpButton.TabIndex = 25;
this.CollapseHelpButton.TabStop = false;
this.CollapseHelpButton.Visible = false;
this.CollapseHelpButton.Click += new System.EventHandler(this.CollapseHelpButtonClick);
//
// HelpLabel
//
this.HelpLabel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(49)))), ((int)(((byte)(159)))), ((int)(((byte)(217)))));
this.HelpLabel.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.HelpLabel.ForeColor = System.Drawing.Color.White;
this.HelpLabel.Location = new System.Drawing.Point(101, 226);
this.HelpLabel.Name = "HelpLabel";
this.HelpLabel.Size = new System.Drawing.Size(250, 94);
this.HelpLabel.TabIndex = 26;
this.HelpLabel.Text = "The security code can be found on the computer you want to link to by right click" +
"ing the system tray icon, selecting \"Settings\" (spaces in the key can be discarded)";
this.HelpLabel.Visible = false;
//
// SetupPage2a
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.HelpLabel);
this.Controls.Add(this.LinkButton);
this.Controls.Add(this.ComputerNameField);
this.Controls.Add(this.label3);
this.Controls.Add(this.SecurityCodeField);
this.Controls.Add(this.CollapseHelpButton);
this.Controls.Add(this.ExpandHelpButton);
this.Controls.Add(this.label2);
this.Controls.Add(this.label6);
this.DoubleBuffered = true;
this.Name = "SetupPage2a";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.ExpandHelpButton, 0);
this.Controls.SetChildIndex(this.CollapseHelpButton, 0);
this.Controls.SetChildIndex(this.SecurityCodeField, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.ComputerNameField, 0);
this.Controls.SetChildIndex(this.LinkButton, 0);
this.Controls.SetChildIndex(this.HelpLabel, 0);
((System.ComponentModel.ISupportInitialize)(this.LinkButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.ExpandHelpButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.CollapseHelpButton)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label6;
private ColorBorderField SecurityCodeField;
private ColorBorderField ComputerNameField;
private System.Windows.Forms.Label label3;
private ImageButton LinkButton;
private System.Windows.Forms.Label label2;
private ImageButton ExpandHelpButton;
private ImageButton CollapseHelpButton;
private System.Windows.Forms.Label HelpLabel;
}
}

View File

@@ -0,0 +1,115 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System.Globalization;
using System.Text.RegularExpressions;
using MouseWithoutBorders.Class;
namespace MouseWithoutBorders
{
public partial class SetupPage2a : SettingsFormPage
{
private static string _securityCode;
protected string SecurityCode
{
get => _securityCode;
set
{
_securityCode = value;
SecurityCodeField.Text = value;
}
}
private static string _computerName;
protected string ComputerName
{
get => _computerName;
set
{
_computerName = value;
ComputerNameField.Text = value;
}
}
public SetupPage2a()
{
InitializeComponent();
BackButtonVisible = true;
SecurityCodeField.Text = string.IsNullOrEmpty(SecurityCode) ? string.Empty : GetSecureKey();
ComputerNameField.Text = string.IsNullOrEmpty(ComputerName) ? string.Empty : ComputerName;
SetLinkButtonState();
if (Common.RunWithNoAdminRight)
{
BackButtonVisible = false;
}
}
protected override SettingsFormPage CreateBackPage()
{
return new SetupPage1();
}
protected override void OnLoad(System.EventArgs e)
{
base.OnLoad(e);
_ = SecurityCodeField.Focus();
}
private void SecurityCodeFieldFieldTextChanged(object sender, System.EventArgs e)
{
SetLinkButtonState();
}
private void ComputerNameFieldFieldTextChanged(object sender, System.EventArgs e)
{
SetLinkButtonState();
}
private void SetLinkButtonState()
{
LinkButton.Enabled = SecurityCodeField.Text.Length >= 16 && ComputerNameField.Text.Trim().Length > 0;
if (!string.IsNullOrEmpty(SecurityCodeField.Text))
{
_securityCode = SecurityCodeField.Text;
}
if (!string.IsNullOrEmpty(ComputerNameField.Text))
{
_computerName = ComputerNameField.Text;
}
}
private void LinkButtonClick(object sender, System.EventArgs e)
{
if (GetSecureKey() != SecurityCodeField.Text)
{
Common.MyKey = Regex.Replace(SecurityCodeField.Text, @"\s+", string.Empty);
SecurityCode = Common.MyKey;
}
Common.MachineMatrix = new string[Common.MAX_MACHINE] { ComputerNameField.Text.Trim().ToUpper(CultureInfo.CurrentCulture), Common.MachineName.Trim(), string.Empty, string.Empty };
string[] machines = Common.MachineMatrix;
Common.MachinePool.Initialize(machines);
Common.UpdateMachinePoolStringSetting();
SendNextPage(new SetupPage3a { ReturnToSettings = !Setting.Values.FirstRun });
}
private void ExpandHelpButtonClick(object sender, System.EventArgs e)
{
HelpLabel.Show();
CollapseHelpButton.Show();
}
private void CollapseHelpButtonClick(object sender, System.EventArgs e)
{
HelpLabel.Hide();
CollapseHelpButton.Hide();
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,104 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage2aa
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label1 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(49, 30);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(356, 150);
this.label1.TabIndex = 2;
this.label1.Text = "Just one more step\r\nand your computers\r\nwill be linked!";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(98, 185);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(130, 18);
this.label6.TabIndex = 7;
this.label6.Text = "SECURITY CODE";
this.label6.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(213, 185);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(128, 16);
this.label2.TabIndex = 23;
this.label2.Text = "Where can I find this?";
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 170);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 1;
//
// SetupPage2aa
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.panel1);
this.Controls.Add(this.label1);
this.Name = "SetupPage2aa";
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Panel panel1;
}
}

View File

@@ -0,0 +1,14 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace MouseWithoutBorders
{
public partial class SetupPage2aa : SetupPage2a
{
public SetupPage2aa()
{
InitializeComponent();
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,166 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage2ab
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label1 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.ExpandHelpButton = new MouseWithoutBorders.ImageButton();
this.CollapseHelpButton = new MouseWithoutBorders.ImageButton();
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.ExpandHelpButton)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.CollapseHelpButton)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(49, 30);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(356, 53);
this.label1.TabIndex = 2;
this.label1.Text = "Sorry!";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(98, 208);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(130, 18);
this.label6.TabIndex = 7;
this.label6.Text = "SECURITY CODE";
this.label6.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
//
// label4
//
this.label4.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(61, 95);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(332, 79);
this.label4.TabIndex = 27;
this.label4.Text = "It looks like we were unable to connect to your computer. Make sure that all of y" +
"our computers are on the same network and that you have the correct information " +
"filled in below.";
//
// label2
//
this.label2.AutoSize = true;
this.label2.BackColor = System.Drawing.Color.Transparent;
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(213, 208);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(128, 16);
this.label2.TabIndex = 23;
this.label2.Text = "Where can I find this?";
//
// ExpandHelpButton
//
this.ExpandHelpButton.DisabledImage = null;
this.ExpandHelpButton.DownImage = null;
this.ExpandHelpButton.HoverImage = null;
this.ExpandHelpButton.Location = new System.Drawing.Point(0, 0);
this.ExpandHelpButton.Name = "ExpandHelpButton";
this.ExpandHelpButton.NormalImage = null;
this.ExpandHelpButton.Size = new System.Drawing.Size(80, 78);
this.ExpandHelpButton.TabIndex = 0;
this.ExpandHelpButton.TabStop = false;
//
// CollapseHelpButton
//
this.CollapseHelpButton.DisabledImage = null;
this.CollapseHelpButton.DownImage = null;
this.CollapseHelpButton.HoverImage = null;
this.CollapseHelpButton.Location = new System.Drawing.Point(0, 0);
this.CollapseHelpButton.Name = "CollapseHelpButton";
this.CollapseHelpButton.NormalImage = null;
this.CollapseHelpButton.Size = new System.Drawing.Size(80, 78);
this.CollapseHelpButton.TabIndex = 0;
this.CollapseHelpButton.TabStop = false;
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 80);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 1;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 170);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 28;
//
// SetupPage2ab
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.panel2);
this.Controls.Add(this.label4);
this.Controls.Add(this.panel1);
this.Controls.Add(this.label1);
this.Name = "SetupPage2ab";
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.Controls.SetChildIndex(this.panel2, 0);
((System.ComponentModel.ISupportInitialize)(this.ExpandHelpButton)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.CollapseHelpButton)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label2;
private ImageButton ExpandHelpButton;
private ImageButton CollapseHelpButton;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Panel panel2;
}
}

View File

@@ -0,0 +1,16 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace MouseWithoutBorders
{
public partial class SetupPage2ab : SetupPage2a
{
public SetupPage2ab()
{
InitializeComponent();
// ComputerName = ComputerName;
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,199 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage2b
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.panel1 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.SecurityCodeLabel = new System.Windows.Forms.Label();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label5 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.MachineNameLabel = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 326);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 1;
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 28F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(61, 28);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 56);
this.label1.TabIndex = 2;
this.label1.Text = "Almost done here...";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 87);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 2;
//
// label2
//
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(61, 103);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(338, 80);
this.label2.TabIndex = 3;
this.label2.Text = "Just keep this window open or write down the information below. Then head over to your other computer and " +
"install Mouse w/o Borders. You can finish the setup and configuration over there" +
".";
//
// SecurityCodeLabel
//
this.SecurityCodeLabel.Font = new System.Drawing.Font(Control.DefaultFont.Name, 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.SecurityCodeLabel.ForeColor = System.Drawing.Color.White;
this.SecurityCodeLabel.Location = new System.Drawing.Point(68, 207);
this.SecurityCodeLabel.Name = "SecurityCodeLabel";
this.SecurityCodeLabel.Size = new System.Drawing.Size(310, 40);
this.SecurityCodeLabel.TabIndex = 4;
this.SecurityCodeLabel.Text = "IlIlIlIlIl";
this.SecurityCodeLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// pictureBox1
//
this.pictureBox1.Image = global::MouseWithoutBorders.Properties.Resources.Mouse;
this.pictureBox1.Location = new System.Drawing.Point(206, 365);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(44, 35);
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
//
// label5
//
this.label5.Font = new System.Drawing.Font(Control.DefaultFont.Name, 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Location = new System.Drawing.Point(61, 170);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(310, 24);
this.label5.TabIndex = 6;
this.label5.Text = "Now you\'re all done over here!";
//
// label6
//
this.label6.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label6.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label6.Location = new System.Drawing.Point(71, 199);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(310, 15);
this.label6.TabIndex = 7;
this.label6.Text = "SECURITY CODE";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label4
//
this.label4.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label4.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(77)))), ((int)(((byte)(208)))), ((int)(((byte)(238)))));
this.label4.Location = new System.Drawing.Point(71, 258);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(310, 15);
this.label4.TabIndex = 9;
this.label4.Text = "THIS COMPUTER\'S NAME";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// MachineNameLabel
//
this.MachineNameLabel.Font = new System.Drawing.Font(Control.DefaultFont.Name, 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.MachineNameLabel.ForeColor = System.Drawing.Color.White;
this.MachineNameLabel.Location = new System.Drawing.Point(50, 266);
this.MachineNameLabel.Name = "MachineNameLabel";
this.MachineNameLabel.Size = new System.Drawing.Size(340, 40);
this.MachineNameLabel.TabIndex = 8;
this.MachineNameLabel.Text = "Alan - Desktop";
this.MachineNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SetupPage2b
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.label4);
this.Controls.Add(this.MachineNameLabel);
this.Controls.Add(this.label6);
this.Controls.Add(this.label5);
this.Controls.Add(this.SecurityCodeLabel);
this.Controls.Add(this.label2);
this.Controls.Add(this.panel2);
this.Controls.Add(this.panel1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.label1);
this.DoubleBuffered = true;
this.Name = "SetupPage2b";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.pictureBox1, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.panel2, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.SecurityCodeLabel, 0);
this.Controls.SetChildIndex(this.label5, 0);
this.Controls.SetChildIndex(this.label6, 0);
this.Controls.SetChildIndex(this.MachineNameLabel, 0);
this.Controls.SetChildIndex(this.label4, 0);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label SecurityCodeLabel;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label MachineNameLabel;
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
namespace MouseWithoutBorders
{
public partial class SetupPage2b : SettingsFormPage
{
public SetupPage2b()
{
InitializeComponent();
SecurityCodeLabel.Text = GetSecureKey();
MachineNameLabel.Text = Common.MachineName.Trim();
BackButtonVisible = true;
Common.ReopenSockets(true);
}
protected override SettingsFormPage CreateBackPage()
{
return new SetupPage1();
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,125 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage3a
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.MessageLabel = new System.Windows.Forms.Label();
this.ExamplePicture = new System.Windows.Forms.PictureBox();
this.labelStatus = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.ExamplePicture)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(65, 56);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 116);
this.label1.TabIndex = 2;
this.label1.Text = "Linking! Soon you will be able to...\r\n";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 178);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 2;
//
// MessageLabel
//
this.MessageLabel.Font = new System.Drawing.Font(Control.DefaultFont.Name, 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.MessageLabel.ForeColor = System.Drawing.Color.White;
this.MessageLabel.Location = new System.Drawing.Point(71, 197);
this.MessageLabel.Name = "MessageLabel";
this.MessageLabel.Size = new System.Drawing.Size(310, 24);
this.MessageLabel.TabIndex = 4;
this.MessageLabel.Text = "Copy && paste across screens";
this.MessageLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ExamplePicture
//
this.ExamplePicture.Image = global::MouseWithoutBorders.Properties.Resources.copy_paste_example;
this.ExamplePicture.Location = new System.Drawing.Point(101, 251);
this.ExamplePicture.Name = "ExamplePicture";
this.ExamplePicture.Size = new System.Drawing.Size(251, 79);
this.ExamplePicture.TabIndex = 7;
this.ExamplePicture.TabStop = false;
//
// labelStatus
//
this.labelStatus.Dock = System.Windows.Forms.DockStyle.Bottom;
this.labelStatus.Font = new System.Drawing.Font(Control.DefaultFont.Name, 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelStatus.ForeColor = System.Drawing.Color.White;
this.labelStatus.Location = new System.Drawing.Point(0, 418);
this.labelStatus.Name = "labelStatus";
this.labelStatus.Size = new System.Drawing.Size(453, 20);
this.labelStatus.TabIndex = 8;
this.labelStatus.Text = "Connecting...";
this.labelStatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SetupPage3a
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.labelStatus);
this.Controls.Add(this.ExamplePicture);
this.Controls.Add(this.MessageLabel);
this.Controls.Add(this.panel2);
this.Controls.Add(this.label1);
this.DoubleBuffered = true;
this.Name = "SetupPage3a";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel2, 0);
this.Controls.SetChildIndex(this.MessageLabel, 0);
this.Controls.SetChildIndex(this.ExamplePicture, 0);
this.Controls.SetChildIndex(this.labelStatus, 0);
((System.ComponentModel.ISupportInitialize)(this.ExamplePicture)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label MessageLabel;
private System.Windows.Forms.PictureBox ExamplePicture;
private System.Windows.Forms.Label labelStatus;
}
}

View File

@@ -0,0 +1,149 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Drawing;
using System.Windows.Forms;
using MouseWithoutBorders.Class;
using MouseWithoutBorders.Properties;
namespace MouseWithoutBorders
{
public partial class SetupPage3a : SettingsFormPage
{
private readonly Image[] _frames = { Resources.copy_paste_example, Resources.drag_example, Resources.keyboard_example };
private readonly string[] _messages =
{
"Copy && paste across screens",
"Drag files across screens",
"Share keyboard across screens",
};
private readonly int[] _timing = { 1000, 1000, 2000 };
#pragma warning disable CA2213 // Disposing is done by ComponentResourceManager
private readonly System.Timers.Timer _animationTimer;
#pragma warning restore CA2213
private bool connected;
private bool done;
private bool invalidKey;
private int _animationFrame;
public bool ReturnToSettings { get; set; }
public SetupPage3a()
{
InitializeComponent();
_animationTimer = new System.Timers.Timer { Interval = 1000 };
}
private void ShowStatus(string status)
{
labelStatus.Text = status;
Common.Log(status);
}
public override void OnPageClosing()
{
_animationTimer.Stop();
base.OnPageClosing();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
_animationTimer.Elapsed += AnimationTimerTick;
Common.GetMachineName();
invalidKey = false;
UpdateAnimation();
_animationTimer.Start();
SocketStuff.InvalidKeyFound = false;
SocketStuff.InvalidKeyFoundOnClientSocket = false;
ShowStatus($"Connecting...");
Common.SwitchToMultipleMode(false, false);
Common.ReopenSockets(true);
int timeOut = 0;
TcpSk connectedClientSocket;
// Client sockets run in different threads.
while (timeOut < 10)
{
Common.MMSleep(1);
if ((connectedClientSocket = Common.GetConnectedClientSocket()) != null)
{
ShowStatus($"Connected from local IP Address: {connectedClientSocket.Address}.");
Common.UpdateMachineTimeAndID();
Common.MMSleep(1);
connected = true;
return;
}
else if (SocketStuff.InvalidKeyFoundOnClientSocket)
{
invalidKey = true;
ShowStatus("Status: InvalidKey.");
Common.MMSleep(3);
break;
}
timeOut++;
}
done = true;
}
private void AnimationTimerTick(object sender, EventArgs e)
{
_ = Invoke(new MethodInvoker(UpdateAnimation));
}
private void UpdateAnimation()
{
if ((ModifierKeys & Keys.Control) != 0)
{
_animationTimer.Stop();
SendNextPage(new SetupPage2ab());
return;
}
ExamplePicture.Image = _frames[_animationFrame];
MessageLabel.Text = _messages[_animationFrame];
_animationTimer.Interval = _timing[_animationFrame];
_animationFrame = (_animationFrame + 1) % _frames.Length;
if (connected)
{
_animationTimer.Stop();
SendNextPage(new SetupPage4());
}
else if (done)
{
_animationTimer.Stop();
SendNextPage(new SetupPage2ab());
if (invalidKey)
{
Common.ShowToolTip(
"Security Codes not matched.\r\nVerify that you entered the same code in all machines.\r\nAnd make sure you run the same version of "
+ Application.ProductName + " in all machines.\r\nThis version: " + FrmAbout.AssemblyVersion,
20000);
}
else
{
string helpText = "Connection error!";
helpText += "\r\nPlease check if your machines are connected to the same network, note that " + Application.ProductName + " works better with wired connection.";
helpText += "\r\nAnd double check if " + Application.ProductName + " is allowed through firewall in all machines.";
Common.ShowToolTip(helpText, 30000);
}
}
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,202 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage4
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.label1 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.label5 = new System.Windows.Forms.Label();
this.ExamplePicture = new System.Windows.Forms.PictureBox();
this.label2 = new System.Windows.Forms.Label();
this.label3 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.NextButton = new MouseWithoutBorders.ImageButton();
this.label4 = new System.Windows.Forms.Label();
this.label6 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)(this.ExamplePicture)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.NextButton)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(65, 58);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 52);
this.label1.TabIndex = 2;
this.label1.Text = "Success! You\'re";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 175);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 2;
//
// label5
//
this.label5.Font = new System.Drawing.Font(Control.DefaultFont.Name, 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label5.ForeColor = System.Drawing.Color.White;
this.label5.Location = new System.Drawing.Point(57, 108);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(344, 52);
this.label5.TabIndex = 6;
this.label5.Text = "almost done here...";
this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// ExamplePicture
//
this.ExamplePicture.Image = global::MouseWithoutBorders.Properties.Resources.combined_example;
this.ExamplePicture.Location = new System.Drawing.Point(75, 283);
this.ExamplePicture.Name = "ExamplePicture";
this.ExamplePicture.Size = new System.Drawing.Size(307, 25);
this.ExamplePicture.TabIndex = 7;
this.ExamplePicture.TabStop = false;
//
// label2
//
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(61, 200);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(310, 25);
this.label2.TabIndex = 8;
this.label2.Text = "Now you can do the magic of Mouse w/o Borders.";
//
// label3
//
this.label3.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(71, 242);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(88, 38);
this.label3.TabIndex = 9;
this.label3.Text = "Copy && Paste\r\nacross screens";
this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 345);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 3;
//
// NextButton
//
this.NextButton.DisabledImage = null;
this.NextButton.DownImage = global::MouseWithoutBorders.Properties.Resources.next_button_click;
this.NextButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.next_button_hover;
this.NextButton.Image = global::MouseWithoutBorders.Properties.Resources.next_button_normal;
this.NextButton.Location = new System.Drawing.Point(199, 366);
this.NextButton.Name = "NextButton";
this.NextButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.next_button_normal;
this.NextButton.Size = new System.Drawing.Size(55, 55);
this.NextButton.TabIndex = 16;
this.NextButton.TabStop = false;
this.NextButton.Click += new System.EventHandler(this.NextButtonClick);
//
// label4
//
this.label4.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label4.ForeColor = System.Drawing.Color.White;
this.label4.Location = new System.Drawing.Point(185, 242);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(88, 38);
this.label4.TabIndex = 17;
this.label4.Text = "Drag files\r\nacross screens";
this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// label6
//
this.label6.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label6.ForeColor = System.Drawing.Color.White;
this.label6.Location = new System.Drawing.Point(294, 242);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(97, 38);
this.label6.TabIndex = 18;
this.label6.Text = "Share keyboard\r\nacross screens";
this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// SetupPage4
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.label6);
this.Controls.Add(this.label4);
this.Controls.Add(this.NextButton);
this.Controls.Add(this.panel1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.ExamplePicture);
this.Controls.Add(this.label5);
this.Controls.Add(this.panel2);
this.Controls.Add(this.label1);
this.DoubleBuffered = true;
this.Name = "SetupPage4";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel2, 0);
this.Controls.SetChildIndex(this.label5, 0);
this.Controls.SetChildIndex(this.ExamplePicture, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.NextButton, 0);
this.Controls.SetChildIndex(this.label4, 0);
this.Controls.SetChildIndex(this.label6, 0);
((System.ComponentModel.ISupportInitialize)(this.ExamplePicture)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.NextButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.PictureBox ExamplePicture;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Panel panel1;
private ImageButton NextButton;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.Label label6;
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using MouseWithoutBorders.Class;
namespace MouseWithoutBorders
{
public partial class SetupPage4 : SettingsFormPage
{
public SetupPage4()
{
Setting.Values.FirstRun = false;
InitializeComponent();
}
private void NextButtonClick(object sender, EventArgs e)
{
SendNextPage(new SetupPage5());
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,159 @@
using System.Windows.Forms;
namespace MouseWithoutBorders
{
partial class SetupPage5
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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.pictureBox1 = new System.Windows.Forms.PictureBox();
this.label3 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.label2 = new System.Windows.Forms.Label();
this.panel2 = new System.Windows.Forms.Panel();
this.label1 = new System.Windows.Forms.Label();
this.DoneButton = new MouseWithoutBorders.ImageButton();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.DoneButton)).BeginInit();
this.SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Image = global::MouseWithoutBorders.Properties.Resources.Mouse;
this.pictureBox1.Location = new System.Drawing.Point(206, 40);
this.pictureBox1.Margin = new System.Windows.Forms.Padding(0);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(41, 36);
this.pictureBox1.TabIndex = 25;
this.pictureBox1.TabStop = false;
//
// label3
//
this.label3.Font = new System.Drawing.Font(Control.DefaultFont.Name, 12F, System.Drawing.FontStyle.Bold);
this.label3.ForeColor = System.Drawing.Color.White;
this.label3.Location = new System.Drawing.Point(61, 271);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(310, 25);
this.label3.TabIndex = 24;
this.label3.Text = "Have fun mousin\' around!";
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.White;
this.panel1.Location = new System.Drawing.Point(41, 96);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(370, 1);
this.panel1.TabIndex = 20;
//
// label2
//
this.label2.Font = new System.Drawing.Font(Control.DefaultFont.Name, 9.75F);
this.label2.ForeColor = System.Drawing.Color.White;
this.label2.Location = new System.Drawing.Point(61, 226);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(310, 40);
this.label2.TabIndex = 22;
this.label2.Text = "You can always get back to the settings for Mouse w/o Borders through the system " +
"tray icon.";
//
// panel2
//
this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel2.BackColor = System.Drawing.Color.White;
this.panel2.Location = new System.Drawing.Point(41, 208);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(370, 1);
this.panel2.TabIndex = 18;
//
// label1
//
this.label1.Font = new System.Drawing.Font(Control.DefaultFont.Name, 30F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.White;
this.label1.Location = new System.Drawing.Point(62, 99);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(330, 109);
this.label1.TabIndex = 19;
this.label1.Text = "All Done.\r\nNice Work!";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// DoneButton
//
this.DoneButton.DisabledImage = null;
this.DoneButton.DownImage = global::MouseWithoutBorders.Properties.Resources.done_button_click;
this.DoneButton.HoverImage = global::MouseWithoutBorders.Properties.Resources.done_button_hover;
this.DoneButton.Image = global::MouseWithoutBorders.Properties.Resources.done_button_normal;
this.DoneButton.Location = new System.Drawing.Point(199, 366);
this.DoneButton.Name = "DoneButton";
this.DoneButton.NormalImage = global::MouseWithoutBorders.Properties.Resources.done_button_normal;
this.DoneButton.Size = new System.Drawing.Size(55, 56);
this.DoneButton.TabIndex = 26;
this.DoneButton.TabStop = false;
this.DoneButton.Click += new System.EventHandler(this.DoneButtonClick);
//
// SetupPage5
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.DodgerBlue;
this.Controls.Add(this.DoneButton);
this.Controls.Add(this.panel1);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.label3);
this.Controls.Add(this.label2);
this.Controls.Add(this.panel2);
this.DoubleBuffered = true;
this.Name = "SetupPage5";
this.Size = new System.Drawing.Size(453, 438);
this.Controls.SetChildIndex(this.panel2, 0);
this.Controls.SetChildIndex(this.label2, 0);
this.Controls.SetChildIndex(this.label3, 0);
this.Controls.SetChildIndex(this.pictureBox1, 0);
this.Controls.SetChildIndex(this.label1, 0);
this.Controls.SetChildIndex(this.panel1, 0);
this.Controls.SetChildIndex(this.DoneButton, 0);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.DoneButton)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.Label label1;
private ImageButton DoneButton;
}
}

View File

@@ -0,0 +1,23 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
namespace MouseWithoutBorders
{
public partial class SetupPage5 : SettingsFormPage
{
public SetupPage5()
{
InitializeComponent();
}
private void DoneButtonClick(object sender, EventArgs e)
{
// SendNextPage(new SettingsPage1());
Common.CloseSetupForm();
Common.ShowMachineMatrix();
}
}
}

View File

@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@@ -0,0 +1,164 @@
namespace MouseWithoutBorders
{
partial class FrmAbout
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmAbout));
this.logoPictureBox = new System.Windows.Forms.PictureBox();
this.labelProductName = new System.Windows.Forms.Label();
this.labelCopyright = new System.Windows.Forms.Label();
this.labelCompanyName = new System.Windows.Forms.Label();
this.groupBoxContributors = new System.Windows.Forms.GroupBox();
this.textBoxContributors = new System.Windows.Forms.TextBox();
this.okButton = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).BeginInit();
this.groupBoxContributors.SuspendLayout();
this.SuspendLayout();
//
// logoPictureBox
//
this.logoPictureBox.ErrorImage = null;
this.logoPictureBox.Image = global::MouseWithoutBorders.Properties.Resources.Logo;
this.logoPictureBox.Location = new System.Drawing.Point(12, 12);
this.logoPictureBox.Name = "logoPictureBox";
this.logoPictureBox.Size = new System.Drawing.Size(131, 136);
this.logoPictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.logoPictureBox.TabIndex = 12;
this.logoPictureBox.TabStop = false;
//
// labelProductName
//
this.labelProductName.AutoSize = true;
this.labelProductName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelProductName.Location = new System.Drawing.Point(152, 12);
this.labelProductName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelProductName.MaximumSize = new System.Drawing.Size(0, 17);
this.labelProductName.Name = "labelProductName";
this.labelProductName.Size = new System.Drawing.Size(87, 13);
this.labelProductName.TabIndex = 27;
this.labelProductName.Text = "Product Name";
this.labelProductName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCopyright
//
this.labelCopyright.AutoSize = true;
this.labelCopyright.Location = new System.Drawing.Point(152, 31);
this.labelCopyright.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCopyright.MaximumSize = new System.Drawing.Size(0, 17);
this.labelCopyright.Name = "labelCopyright";
this.labelCopyright.Size = new System.Drawing.Size(51, 13);
this.labelCopyright.TabIndex = 28;
this.labelCopyright.Text = "Copyright";
this.labelCopyright.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// labelCompanyName
//
this.labelCompanyName.AutoSize = true;
this.labelCompanyName.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelCompanyName.Location = new System.Drawing.Point(9, 162);
this.labelCompanyName.Margin = new System.Windows.Forms.Padding(6, 0, 3, 0);
this.labelCompanyName.MaximumSize = new System.Drawing.Size(0, 17);
this.labelCompanyName.Name = "labelCompanyName";
this.labelCompanyName.Size = new System.Drawing.Size(94, 13);
this.labelCompanyName.TabIndex = 29;
this.labelCompanyName.Text = "Company Name";
this.labelCompanyName.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// groupBoxContributors
//
this.groupBoxContributors.Controls.Add(this.textBoxContributors);
this.groupBoxContributors.Location = new System.Drawing.Point(12, 178);
this.groupBoxContributors.Name = "groupBoxContributors";
this.groupBoxContributors.Size = new System.Drawing.Size(466, 350);
this.groupBoxContributors.TabIndex = 30;
this.groupBoxContributors.TabStop = false;
this.groupBoxContributors.Text = " Contributors ";
//
// textBoxContributors
//
this.textBoxContributors.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxContributors.Location = new System.Drawing.Point(3, 16);
this.textBoxContributors.Multiline = true;
this.textBoxContributors.Name = "textBoxContributors";
this.textBoxContributors.ReadOnly = true;
this.textBoxContributors.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.textBoxContributors.Size = new System.Drawing.Size(460, 331);
this.textBoxContributors.TabIndex = 31;
//
// okButton
//
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.okButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.okButton.Location = new System.Drawing.Point(403, 534);
this.okButton.Name = "okButton";
this.okButton.Size = new System.Drawing.Size(75, 23);
this.okButton.TabIndex = 24;
this.okButton.Text = "&OK";
//
// frmAbout
//
this.AcceptButton = this.okButton;
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(487, 561);
this.Controls.Add(this.okButton);
this.Controls.Add(this.logoPictureBox);
this.Controls.Add(this.labelProductName);
this.Controls.Add(this.labelCopyright);
this.Controls.Add(this.labelCompanyName);
this.Controls.Add(this.groupBoxContributors);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmAbout";
this.Opacity = 0.9D;
this.Padding = new System.Windows.Forms.Padding(9);
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "frmAbout";
this.TopMost = true;
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmAbout_FormClosed);
((System.ComponentModel.ISupportInitialize)(this.logoPictureBox)).EndInit();
this.groupBoxContributors.ResumeLayout(false);
this.groupBoxContributors.PerformLayout();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.PictureBox logoPictureBox;
private System.Windows.Forms.Label labelProductName;
private System.Windows.Forms.Label labelCopyright;
private System.Windows.Forms.Label labelCompanyName;
private System.Windows.Forms.GroupBox groupBoxContributors;
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.TextBox textBoxContributors;
}
}

View File

@@ -0,0 +1,124 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
// <summary>
// About box.
// </summary>
// <history>
// 2008 created by Truong Do (ductdo).
// 2009-... modified by Truong Do (TruongDo).
// 2023- Included in PowerToys.
// </history>
using System;
using System.Globalization;
using System.Reflection;
using System.Windows.Forms;
namespace MouseWithoutBorders
{
internal partial class FrmAbout : System.Windows.Forms.Form, IDisposable
{
internal FrmAbout()
{
InitializeComponent();
Text = string.Format(CultureInfo.CurrentCulture, "About {0}", AssemblyTitle);
labelProductName.Text = string.Format(CultureInfo.CurrentCulture, "{0} {1}", AssemblyProduct, AssemblyVersion);
labelCopyright.Text = AssemblyCopyright;
labelCompanyName.Text = "Project creator: Truong Do (Đỗ Đức Trường)";
textBoxContributors.Text += "* Microsoft Garage: Quinn Hawkins, Michael Low, Joe Coplen, Nino Yuniardi, Gwyneth Marshall, David Andrews, Karen Luecking";
textBoxContributors.Text += "\r\n* Peter Hauge\t\t- Visual Studio";
textBoxContributors.Text += "\r\n* Bruce Dawson\t\t- Windows Fundamentals";
textBoxContributors.Text += "\r\n* Alan Myrvold\t\t- Office Security";
textBoxContributors.Text += "\r\n* Adrian Garside\t\t- WEX";
textBoxContributors.Text += "\r\n* Scott Bradner\t\t- Surface";
textBoxContributors.Text += "\r\n* Aleks Gershaft\t\t- Windows Azure";
textBoxContributors.Text += "\r\n* Chinh Huynh\t\t- Windows Azure";
textBoxContributors.Text += "\r\n* Long Nguyen\t\t- Data Center";
textBoxContributors.Text += "\r\n* Triet Le\t\t\t- Cloud Engineering";
textBoxContributors.Text += "\r\n* Luke Schoen\t\t- Excel";
textBoxContributors.Text += "\r\n* Bao Nguyen\t\t- Bing";
textBoxContributors.Text += "\r\n* Ross Nichols\t\t- Windows";
textBoxContributors.Text += "\r\n* Ryan Baltazar\t\t- Windows";
textBoxContributors.Text += "\r\n* Ed Essey\t\t- The Garage";
textBoxContributors.Text += "\r\n* Mario Madden\t\t- The Garage";
textBoxContributors.Text += "\r\n* Karthick Mahalingam\t- ACE";
textBoxContributors.Text += "\r\n* Pooja Kamra\t\t- ACE";
textBoxContributors.Text += "\r\n* Justin White\t\t- SA";
textBoxContributors.Text += "\r\n* Chris Ransom\t\t- SA";
textBoxContributors.Text += "\r\n* Mike Ricks\t\t- Red Team";
textBoxContributors.Text += "\r\n* Randy Santossio\t\t- Surface";
textBoxContributors.Text += "\r\n* Ashish Sen Jaswal\t\t- Device Health";
textBoxContributors.Text += "\r\n* Zoltan Harmath\t\t- Security Tools";
textBoxContributors.Text += "\r\n* Luciano Krigun\t\t- Security Products";
textBoxContributors.Text += "\r\n* Jo Hemmerlein\t\t- Red Team";
textBoxContributors.Text += "\r\n* Chris Johnson\t\t- Surface Hub";
textBoxContributors.Text += "\r\n* Loren Ponten\t\t- Surface Hub";
textBoxContributors.Text += "\r\n* Paul Schmitt\t\t- WWL";
textBoxContributors.Text += "\r\n\r\n* And many other Users!";
}
internal static string AssemblyTitle
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false);
if (attributes.Length > 0)
{
AssemblyTitleAttribute titleAttribute = (AssemblyTitleAttribute)attributes[0];
if (titleAttribute.Title != null && titleAttribute.Title.Length > 0)
{
return titleAttribute.Title;
}
}
return System.IO.Path.GetFileNameWithoutExtension(Assembly.GetExecutingAssembly().Location);
}
}
internal static string AssemblyVersion => Assembly.GetExecutingAssembly().GetName().Version.ToString();
internal static string AssemblyDescription
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyDescriptionAttribute), false);
return attributes.Length == 0 ? string.Empty : ((AssemblyDescriptionAttribute)attributes[0]).Description;
}
}
internal static string AssemblyProduct
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyProductAttribute), false);
return attributes.Length == 0 ? string.Empty : ((AssemblyProductAttribute)attributes[0]).Product;
}
}
internal static string AssemblyCopyright
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCopyrightAttribute), false);
return attributes.Length == 0 ? string.Empty : ((AssemblyCopyrightAttribute)attributes[0]).Copyright;
}
}
internal static string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
return attributes.Length == 0 ? string.Empty : ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
private void FrmAbout_FormClosed(object sender, FormClosedEventArgs e)
{
Common.AboutForm = null;
}
}
}

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32FIv3Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32EYv3Eo32AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32BIf3GJD2Eov3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAEo32CYn3GZD2DIf4Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QZv0FI72GpH2FIv3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32Con3HJH2FI72QJv0
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJb1FI72GZD2Ho/2Eo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEo32Eo32G5H2FI72NJb1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPpr0Fo72GZD2Don3Eo32AAAAAAAAAAAAAAAAAAAAAAAAEo32BIj3HJH2
Fo72Ppr0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpn0
Fo/2GZD2II/2Eo32AAAAAAAAAAAAAAAAEo32E432HJH2Fo/2Opn0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIo/2HJH2GZD2Foz3Eo32AAAAAAAAEo32
Cor3HJH2HJH2Io/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZ7zA4f3Con3Con3Con3Con3
Con3Con3Con3DYv3HJH2HpL2HZH2GZD2GIz2Eo32Eo32C4v3HJH2HpL2HpL2HJH2DYv3Con3Con3Con3
Con3Con3Con3Con3AIX4Eo32WqLzD432Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2F4/2HZH2HpL2HpL2HZH2
EY32O5j0Npf0FI72HZH2HpL2HpL2HJH2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2C4v3Eo32frPvSaPy
TqTyTqTyTqTyTqTyTqTyTqTyT6XyV6jxIJH2HZH2HpL2Eo32Opv0AAAAAAAALJT2FY/2HpL2HJH2K5T1
V6nxT6TyTqTyTqTyTqTyTqTyTqTyTqTyRqHzEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2
GY72HZH2Eo32OJr0AAAAAAAAAAAAAAAAKZP1FY/2G5H2I5H2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2Ho/2GpH2Eo32PZz0AAAAAAAAAAAAAAAAAAAA
AAAAL5b1FY/2GJD2KJT2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAHZH2G472GZD2E432Npn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJL1Fo/2Fo/2J5P2Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2HpD2GJD2FI72MZj1AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJZL2Fo/2Fo/2KpT1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHZH2FIv3GZD2E472MZf1AAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAA
JZL2Fo/2Fo/2H4/3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32H5D2Doz2M5j0AAAA
AAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAJpL1D4z2J5T1Eo32AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32NJj1AAAAAAAAAAAABAQE//jwBAQEBAQEAAAAAAAABAQE
//jwBAQEBAQEAAAAAAAAAAAAMJb1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQE
AAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////v//f/x/
/j/4P/wf/B/4P/4P8H//B+D//4PB///Bg/8AAAAAAAAAAAABgAD/g8H//wfg//4P8H/8H/g/+DPMH/hh
hh/84Yc//+GH///zz/////////////////////////////////8oAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32GJD2Eo32AAAAAAAAAAAAAAAAAAAA
AAAACYn3DIf4AAAAAAAAAAAAAAAAAAAAAAAANJb1GZD2Eo32AAAAAAAAAAAAAAAAEo32FI72AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOpn0GZD2Eo32AAAAAAAAE432Fo/2AAAAAAAAAAAAAAAAAAAAA4f3Con3
Con3Con3DYv3HpL2GZD2Eo32C4v3HpL2HJH2Con3Con3Con3Con3Eo32SaPyTqTyTqTyTqTyV6jxHZH2
Eo32AAAALJT2HpL2K5T1T6TyTqTyTqTyTqTyEo32AAAAAAAAAAAAAAAAHo/2Eo32AAAAAAAAAAAAL5b1
GJD2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAHpD2FI72AAAAAAAAAAAAAAAAAAAAJZL2Fo/2Eo32AAAA
AAAAAAAAAAAAAAAAEo32Doz2AAAABAQEBAQEAAAABAQEBAQEAAAAJpL1J5T1AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//8AAP//AAD//wAA7/8AAMfnAADjzwAA8Z8AAAAAAAABAAAA848AAOfHAADJJwAA+T8AAP//
AAD//wAA//8AAA==
</value>
</data>
</root>

View File

@@ -0,0 +1,59 @@
namespace MouseWithoutBorders
{
partial class FrmInputCallback
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmInputCallback));
this.SuspendLayout();
//
// frmInputCallback
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(61, 36);
this.ControlBox = false;
this.Enabled = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmInputCallback";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "frmInputCallback";
this.Load += new System.EventHandler(this.FrmInputCallback_Load);
this.Shown += new System.EventHandler(this.FrmInputCallback_Shown);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmInputCallback_FormClosing);
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -0,0 +1,87 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.ComponentModel;
using System.Diagnostics.CodeAnalysis;
using System.Windows.Forms;
// <summary>
// Keyboard/Mouse hook callbacks are handled in the message loop of this form.
// </summary>
// <history>
// 2008 created by Truong Do (ductdo).
// 2009-... modified by Truong Do (TruongDo).
// 2023- Included in PowerToys.
// </history>
using MouseWithoutBorders.Class;
[module: SuppressMessage("Microsoft.Globalization", "CA1300:SpecifyMessageBoxOptions", Scope = "member", Target = "MouseWithoutBorders.frmInputCallback.#InstallKeyboardAndMouseHook()", Justification = "Dotnet port with style preservation")]
namespace MouseWithoutBorders
{
internal partial class FrmInputCallback : System.Windows.Forms.Form
{
internal FrmInputCallback()
{
InitializeComponent();
}
private void FrmInputCallback_Load(object sender, EventArgs e)
{
InstallKeyboardAndMouseHook();
Left = 0;
Top = 0;
Width = 0;
Height = 0;
}
private void FrmInputCallback_Shown(object sender, EventArgs e)
{
Common.InputCallbackForm = this;
Visible = false;
}
private void FrmInputCallback_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.WindowsShutDown)
{
// e.Cancel = true;
}
}
internal void InstallKeyboardAndMouseHook()
{
/*
* Install hooks:
* According to http://msdn.microsoft.com/en-us/library/ms644986(VS.85).aspx
* we need to process the hook callback message fast enough so make the message loop thread a
* high priority thread. (Mouse/Keyboard event is important)
* */
try
{
Common.Hook = new InputHook();
Common.Hook.MouseEvent += new InputHook.MouseEvHandler(Common.MouseEvent);
Common.Hook.KeyboardEvent += new InputHook.KeybdEvHandler(Common.KeybdEvent);
Common.Log("(((((Keyboard/Mouse hooks installed/reinstalled!)))))");
/* The hook is called in the context of the thread that installed it.
* The call is made by sending a message to the thread that installed the hook.
* Therefore, the thread that installed the hook must have a message loop!!!
* */
}
catch (Win32Exception e)
{
_ = MessageBox.Show(
"Error installing Mouse/keyboard hook, error code: " + e.ErrorCode,
Application.ProductName,
MessageBoxButtons.OK,
MessageBoxIcon.Error);
Common.MainForm.Quit(false, false); // we are [STAThread] :)
}
// Thread.CurrentThread.Priority = ThreadPriority.Highest;
}
}
}

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAuamfwamfxrS23c/O8ujl9+7q7+Xg49fR18zE1crD18/I2NDL2NLM2dPN
2dTPw7y2uKacwamfxrS23c/O8ujl9+7q7+Xg49fR18zE1crD18/I2NDL2NLM2dPN2dTPwrqzx6uglXVi
7qYbtIdFZ0pBbVBBcVVHdFpOd2BUemRYe2hcfGpgfm1jf3FlfW1j6ejmxKWZlXVi7qYbtIdFZ0pBbVBB
cVVHdFpOd2BUemRYe2hcfGpgfm1jf3FlfW1j5uLfw6afuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+
ZlBAZlJAZ1NDZlNDYU076eflwKGYuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+ZlBAZlJAZ1NDZlND
YU075uHew6adtJp9gHhQspJdsp2UsZuOrpyRrp6Srp6UsKKXsaKYsaSYsqSasqWasKOX4t/cwKCWtJp9
gHhQyp9kzqqZzamUs5+Srp6Srp6UsKKXsaKYsaSYsqSasqWasKOX39nVw6qhw29E2JRq4nU64WUb5G0n
6HUu63027oU/8oxG9ZRN95pU+qFb/aZg/6le2NzfwKSbw29E/59qAAAAAAAAAAAAyWUn8X837oU/8oxG
9ZRN95pU+qFb/aZg/6le1dbZxKuivm5Cyl8m1mAf22on3XAv4Xc25H4954VE6oxL7ZNS75lZ8p9f9KRj
+qdi19vewaWczms7PnhlAFVVAGJiAAACx2gu6YE+54VE6oxL7ZNS75lZ8p9f9KRj+qdi1dbXxKqhwnZO
zWs22GMk22gm3G4t33U04nw75YNC6IpJ65FQ7pdX8J1d9KNi+aVg19ncwaWb2nNFAHyBAqenAJOTAAAF
xWUr6H885YNC6IpJ65FQ7pdX8J1d9KNi+aVg1dTWw6qhw3hRz3RC12Uo2mcl3G0s33Qz4ns55YJB6YlI
7JBP7ZZV8Zxc86Ji96Vg1tfawaWb83ZFAGprEv//AaKiAAABv2Eo53465YJB6YlI7JBP7ZZV8Zxc86Ji
96Vg09LUw6mhw3hR1H9R2W802Wcm22sp3nIw4Xg35YA/54dG6o5N8JZU/6Zh8qBg96Rf1dTW2KSWAHF2
AO3tAIKCAAAA4mom6Hcy4Xg35YA/54dG6o5N7ZRT75pa8qBg96Rf08/Qw6igwnhR1YRZ3HhC2mor22sp
3XEu4Hc25H4954VF7I5N44xONR0P/7Bp+KJe09HT4aWXAGxsDPT1AJOTAAAAyWAk4nMv4Hc25H4954VF
6oxM7ZNS75lZ8p9f+KJe0c3OxKigwXNM1oZb34RT3HM422sq3m8u4XU05Hw754NC7YxK4YxOABQeuXRB
/6dg2c7PkJOJAJSUDdfXAF9hLxwR0GUo4XAv4XU05Hw754NC6opJ7JFQ75dX8p9d96Fcz8nKw6igvm5F
1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB64lH4ZJUAIWNAAAA/8Nw6M/OAGpsAO7uAIODAAAA5XtD4XEy
3W0s3nMy4Xo65IFB54hI6Y9P7JVW751b9Z9azsbGxKmgtmE0z4JZ14he14NW03M90Gov0m0v1HE01ng7
3X9C1YVKAIGHAIiIAAAA/+3jAGVmFfr6AJSUAAAAzHtQ1nU/0Gov0m0v1HE01ng72X9D3IZI34tP4ZJU
55VUzMPCxaqhrFAhxntVzoRbzoJbyXdJwmgzwGIpwWUsw2sxynE3wXZAAIGHAOnpAEhITR8cANnZBa2t
ABsejlo+1Ydf0n1Oym44wmQqwWUsw2sxx3E4yHc9y3xDzYJI0IVGzsG/xKSbokQXtGdEu3RSvXhXvHdW
uXBKtWhBtmo/t21EvHNJtnhSAICEAP//AKqqAAEBAK+vAFxcAAAAkFxAi1xCiFg9fUkqrmM9t2tAt21E
uXNJvHlRwIJZxIpiy49nzb231M3KzLq0y7q0yLavxrOsxbOtxrOtx7ev0MG83tLO7+Hf4t3bAHV2AP//
AP//AHt7AAAAAAAAAAAAAAAAAAAAAAAAAAAAn5ON1sbB3tLO6+De7OLh4tfU0sO+xbOru6qht6WbwKie
xrS339HR9u3q+/Pw8url5drV183F1MnD2M7HzcnEAHd4AP//AP//AP//AICAAJCQAJCQAJCQAKamAAAA
5tvW8OTf183F1MnD1c3G1s7J19HM2dTP2tfSw7y2x6uglXVi7qYbtIdFZ0pBbVBBcVVHdFpOd2BUemRY
fmhceGpgAICBAP//AP//AP//AHBwAICAAICAAI6OACcoIRIJa09CdlxPd2BUemRYe2hcfGpgfm1jf3Fl
fW1j5uLfw6afuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+aE8/Y1NCAIOEAP//AP//AN/fAHV1AICA
AISEAF5fIxwYZ0s8Z0w7Y0w7ZU08ZU4+ZlBAZlJAZ1NDZlNDYU075uHew6adtJp9gHhQspJdsp2UsZuO
rpyRrp6Srp6UsKKXtKOYq6CVAHx9AP//AP//AGZmAICAAICAAJ2dAAAArJOFtZ6RrpyRrp6Srp6UsKKX
saKYsaSYsqSasqWasKOX39nVw6qhw29E2JRq4nU64WUb5G0n6HUu63027oU/8oxG+ZRN7phVAHyDAP//
AP//AHBwAICAAJmZAAAA9YFB5mkf5G0n6HUu63027oU/8oxG9ZRN95pU+qFb/aZg/6le1dbZxKuivm5C
yl8m1mAf22on3XAv4Xc25H4954VE6oxL8JNR5pdYAH2EAP//AJ6eAHp6AI+PABYcjEIc2GEf3Goo3XAv
4Xc25H4954VE6oxL7ZNS75lZ8p9f9KRj+qdi1dbXxKqhwnZOzWs22GMk22gm3G4t33U04nw75YNC6IpJ
75JQ5pZYAH2EAP//AGtrAIWFAFpcLhML2nI62mQk22gm3G4t33U04nw75YNC6IpJ65FQ7pdX8J1d9KNi
+aVg1dTWw6qhw3hRz3RC12Uo2mcl3G0s33Qz4ns55YJB6YlI8JBO5ZRVAH+GAP//AHFxAKCgAAAA45Fm
0XVD12Uo2mcl3G0s33Qz4ns55YJB6YlI7JBP7ZZV8Zxc86Ji96Vg09LUw6mhw3hR1H9R2W802Wcm22sp
3nIw4Xg35YA/54dG7o9N5ZRVAHyDAHJyAJSUAAAA9NLHxHlR1H9R2W802Wcm22sp3nIw4Xg35YA/54dG
6o5N7ZRT75pa8qBg96Rf08/Qw6igwnhR1YRZ3HhC2mor22sp3XEu4Hc25H4954VF7o1L5JJVAH+GAIeH
AA4RoZWRyqyjwnhR1YRZ3HhC2mor22sp3XEu4Hc25H4954VF6oxM7ZNS75lZ8p9f+KJe0c3OxKigwXNM
1oZb34RT3HM422sq3m8u4XU05Hw754NC7YtI5JFTAH+GAFVWRxsF7ePfwqSbwXNM1oZb34RT3HM422sq
3m8u4XU05Hw754NC6opJ7JFQ75dX8p9d96Fcz8nKw6igvm5F1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB
64lH4ZNUAImSAAAA/75t0MrLwaSbvm5F1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB54hI6Y9P7JVW751b
9Z9azsbGxKmgtmE0z4JZ14he14NW03M90Gov0m0v1HE01ng73YFE0HxCAAAA/7Ro55VUzsfGwqactmE0
z4JZ14he14NW03M90Gov0m0v1HE01ng72X9D3IZI34tP4ZJU55VUzMPCxaqhrFAhxntVzoRbzoJbyXdJ
wmgzwGIpwWUsw2sxyHI4xnU8hVAr1YdK0IVGz8TDw6edrFAhxntVzoRbzoJbyXdJwmgzwGIpwWUsw2sx
x3E4yHc9y3xDzYJI0IVGzsG/xKSbokQXtGdEu3RSvXhXvHdWuXBKtWhBtmo/t21EuXNJvXpRyIdbxIpi
y49nz8C7w6GYokQXtGdEu3RSvXhXvHdWuXBKtWhBtmo/t21EuXNJvHlRwIJZxIpiy49nzb230snGyriy
y7q0yrmyyriyybmzybiyybqz0MK93dHN6N7c6uDf4NbT0sXAxravuqmg1MzJyriyy7q0yrmyyriyybmz
ybiyybqz0MK93dHN6N7c6uDf4NbT0sXAxravvKyjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAsZqU4bR1sJ+es6CXqpmPraGZraOaxcG+r5SN4bR1rp6ds6CXqpmPraGZ
raObw7u2xKGKdI5ge2lpeG5meXBpenJqdmxktLKvwJqCjZZhq35vem9meXBpenJqdmxls6ymv4124W0y
6mcY83ov+YtB/5pQ/6ZX9NCtzoRpS047AAAA/nws+4xB/5pQ/6ZX7cajwZWC0mIk22gn4Hg35oZG7JNT
+KBb6Mir+oRhALa+AEhW6nEs54dG7JNT851a5MCiwJN/2npH2WUi33My5oNC75JR0IFF98alaXp5AOPn
bRAA83435YJC7JBP85pW47yev45534lb3W8w4W8t54A//5lSABce/+SwCKGkAGZuxlch5nIu54A/7I5N
9JpV4riZtnxg0IFV0ntNxl8gyGYn5nAqALG+XiwrAOboFSwp/5Rg02opyGUmznM01H071KmKw6CSvZCB
wpiHvpJ+yqCL8bKdAMnOAIODACkqKAAAOSAVWz4v1amU27Wk0a6aw6marpmT5Lh2sKOjs6SdppiRupiR
ALm7AP//AHZ2AKusABwez7auppiRp52XqKKcw7+6xKGKdI5ge2lpeG5lenBpjGlgAMbIAN3dAHh3AFhg
impje3BoeXBpe3Jqdmxls6umv4124W0y6mcY83ov+YtB/5VDAMbTAKOiAHJ7qjkJ928g8nov+YtB/5pQ
/6ZX7cajwZWC0mIk22gn4Hg35oZG/49HANPhAIKEMSAY8HQz2mgn4Hg35oZG7JNT851a5MCiwJN/2npH
2WUi33My5oNC/5VMAHyKCi0y+Led2HhF2WUi33My5oNC7JBP85pW47yev45534lb3W8w4W8t54A//5hP
AEFX6beWvIdy34lc3W8w4W8t54A/7I5N9JpV4riZt3xg0IBV0XtMxl8gyGYn03Qzk08c5biVsnVZ0IFV
0XtMxl8gyGYnznM01H071KmKwZ6Qv5SBwp2NvZWExZ+M1LOi17SfxK6iwZyPv5SBwp2NvZWExZ+M1LKi
zK6bw6yfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA==
</value>
</data>
</root>

View File

@@ -0,0 +1,77 @@
namespace MouseWithoutBorders
{
partial class frmLogon
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmLogon));
this.labelDesktop = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// labelDesktop
//
this.labelDesktop.AutoSize = true;
this.labelDesktop.BackColor = System.Drawing.Color.White;
this.labelDesktop.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.labelDesktop.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelDesktop.ForeColor = System.Drawing.Color.LimeGreen;
this.labelDesktop.Location = new System.Drawing.Point(1, 1);
this.labelDesktop.Name = "labelDesktop";
this.labelDesktop.Size = new System.Drawing.Size(80, 15);
this.labelDesktop.TabIndex = 0;
this.labelDesktop.Text = "MouseWithoutBorders";
//
// frmLogon
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(83, 17);
this.ControlBox = false;
this.Controls.Add(this.labelDesktop);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmLogon";
this.Opacity = 0.5;
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.Text = "MouseWithoutBorders";
this.TopMost = true;
this.Load += new System.EventHandler(this.frmLogon_Load);
this.Shown += new System.EventHandler(this.frmLogon_Shown);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmLogon_FormClosing);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label labelDesktop;
}
}

View File

@@ -0,0 +1,51 @@
/*
* File name: frmLogon.cs (not used)
* History:
* Truong Do (ductdo) 2008-10-XX Created/Updated
* */
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace MouseWithoutBorders
{
internal partial class frmLogon : Form
{
internal System.Windows.Forms.Label LabelDesktop
{
get { return labelDesktop; }
set { labelDesktop = value; }
}
internal frmLogon()
{
InitializeComponent();
}
private void frmLogon_Load(object sender, EventArgs e)
{
Left = 10;
Top = 10;
Width = labelDesktop.Width + 2;
Height = labelDesktop.Height + 2;
}
private void frmLogon_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason != CloseReason.WindowsShutDown)
{
e.Cancel = true;
}
}
private void frmLogon_Shown(object sender, EventArgs e)
{
//Common.SetForegroundWindow(Common.GetDesktopWindow());
}
}
}

View File

@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAuamfwamfxrS23c/O8ujl9+7q7+Xg49fR18zE1crD18/I2NDL2NLM2dPN
2dTPw7y2uKacwamfxrS23c/O8ujl9+7q7+Xg49fR18zE1crD18/I2NDL2NLM2dPN2dTPwrqzx6uglXVi
7qYbtIdFZ0pBbVBBcVVHdFpOd2BUemRYe2hcfGpgfm1jf3FlfW1j6ejmxKWZlXVi7qYbtIdFZ0pBbVBB
cVVHdFpOd2BUemRYe2hcfGpgfm1jf3FlfW1j5uLfw6afuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+
ZlBAZlJAZ1NDZlNDYU076eflwKGYuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+ZlBAZlJAZ1NDZlND
YU075uHew6adtJp9gHhQspJdsp2UsZuOrpyRrp6Srp6UsKKXsaKYsaSYsqSasqWasKOX4t/cwKCWtJp9
gHhQyp9kzqqZzamUs5+Srp6Srp6UsKKXsaKYsaSYsqSasqWasKOX39nVw6qhw29E2JRq4nU64WUb5G0n
6HUu63027oU/8oxG9ZRN95pU+qFb/aZg/6le2NzfwKSbw29E/59qAAAAAAAAAAAAyWUn8X837oU/8oxG
9ZRN95pU+qFb/aZg/6le1dbZxKuivm5Cyl8m1mAf22on3XAv4Xc25H4954VE6oxL7ZNS75lZ8p9f9KRj
+qdi19vewaWczms7PnhlAFVVAGJiAAACx2gu6YE+54VE6oxL7ZNS75lZ8p9f9KRj+qdi1dbXxKqhwnZO
zWs22GMk22gm3G4t33U04nw75YNC6IpJ65FQ7pdX8J1d9KNi+aVg19ncwaWb2nNFAHyBAqenAJOTAAAF
xWUr6H885YNC6IpJ65FQ7pdX8J1d9KNi+aVg1dTWw6qhw3hRz3RC12Uo2mcl3G0s33Qz4ns55YJB6YlI
7JBP7ZZV8Zxc86Ji96Vg1tfawaWb83ZFAGprEv//AaKiAAABv2Eo53465YJB6YlI7JBP7ZZV8Zxc86Ji
96Vg09LUw6mhw3hR1H9R2W802Wcm22sp3nIw4Xg35YA/54dG6o5N8JZU/6Zh8qBg96Rf1dTW2KSWAHF2
AO3tAIKCAAAA4mom6Hcy4Xg35YA/54dG6o5N7ZRT75pa8qBg96Rf08/Qw6igwnhR1YRZ3HhC2mor22sp
3XEu4Hc25H4954VF7I5N44xONR0P/7Bp+KJe09HT4aWXAGxsDPT1AJOTAAAAyWAk4nMv4Hc25H4954VF
6oxM7ZNS75lZ8p9f+KJe0c3OxKigwXNM1oZb34RT3HM422sq3m8u4XU05Hw754NC7YxK4YxOABQeuXRB
/6dg2c7PkJOJAJSUDdfXAF9hLxwR0GUo4XAv4XU05Hw754NC6opJ7JFQ75dX8p9d96Fcz8nKw6igvm5F
1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB64lH4ZJUAIWNAAAA/8Nw6M/OAGpsAO7uAIODAAAA5XtD4XEy
3W0s3nMy4Xo65IFB54hI6Y9P7JVW751b9Z9azsbGxKmgtmE0z4JZ14he14NW03M90Gov0m0v1HE01ng7
3X9C1YVKAIGHAIiIAAAA/+3jAGVmFfr6AJSUAAAAzHtQ1nU/0Gov0m0v1HE01ng72X9D3IZI34tP4ZJU
55VUzMPCxaqhrFAhxntVzoRbzoJbyXdJwmgzwGIpwWUsw2sxynE3wXZAAIGHAOnpAEhITR8cANnZBa2t
ABsejlo+1Ydf0n1Oym44wmQqwWUsw2sxx3E4yHc9y3xDzYJI0IVGzsG/xKSbokQXtGdEu3RSvXhXvHdW
uXBKtWhBtmo/t21EvHNJtnhSAICEAP//AKqqAAEBAK+vAFxcAAAAkFxAi1xCiFg9fUkqrmM9t2tAt21E
uXNJvHlRwIJZxIpiy49nzb231M3KzLq0y7q0yLavxrOsxbOtxrOtx7ev0MG83tLO7+Hf4t3bAHV2AP//
AP//AHt7AAAAAAAAAAAAAAAAAAAAAAAAAAAAn5ON1sbB3tLO6+De7OLh4tfU0sO+xbOru6qht6WbwKie
xrS339HR9u3q+/Pw8url5drV183F1MnD2M7HzcnEAHd4AP//AP//AP//AICAAJCQAJCQAJCQAKamAAAA
5tvW8OTf183F1MnD1c3G1s7J19HM2dTP2tfSw7y2x6uglXVi7qYbtIdFZ0pBbVBBcVVHdFpOd2BUemRY
fmhceGpgAICBAP//AP//AP//AHBwAICAAICAAI6OACcoIRIJa09CdlxPd2BUemRYe2hcfGpgfm1jf3Fl
fW1j5uLfw6afuo1bWKScp4hBZUlAYkc4ZEo5Y0w7ZU08ZU4+aE8/Y1NCAIOEAP//AP//AN/fAHV1AICA
AISEAF5fIxwYZ0s8Z0w7Y0w7ZU08ZU4+ZlBAZlJAZ1NDZlNDYU075uHew6adtJp9gHhQspJdsp2UsZuO
rpyRrp6Srp6UsKKXtKOYq6CVAHx9AP//AP//AGZmAICAAICAAJ2dAAAArJOFtZ6RrpyRrp6Srp6UsKKX
saKYsaSYsqSasqWasKOX39nVw6qhw29E2JRq4nU64WUb5G0n6HUu63027oU/8oxG+ZRN7phVAHyDAP//
AP//AHBwAICAAJmZAAAA9YFB5mkf5G0n6HUu63027oU/8oxG9ZRN95pU+qFb/aZg/6le1dbZxKuivm5C
yl8m1mAf22on3XAv4Xc25H4954VE6oxL8JNR5pdYAH2EAP//AJ6eAHp6AI+PABYcjEIc2GEf3Goo3XAv
4Xc25H4954VE6oxL7ZNS75lZ8p9f9KRj+qdi1dbXxKqhwnZOzWs22GMk22gm3G4t33U04nw75YNC6IpJ
75JQ5pZYAH2EAP//AGtrAIWFAFpcLhML2nI62mQk22gm3G4t33U04nw75YNC6IpJ65FQ7pdX8J1d9KNi
+aVg1dTWw6qhw3hRz3RC12Uo2mcl3G0s33Qz4ns55YJB6YlI8JBO5ZRVAH+GAP//AHFxAKCgAAAA45Fm
0XVD12Uo2mcl3G0s33Qz4ns55YJB6YlI7JBP7ZZV8Zxc86Ji96Vg09LUw6mhw3hR1H9R2W802Wcm22sp
3nIw4Xg35YA/54dG7o9N5ZRVAHyDAHJyAJSUAAAA9NLHxHlR1H9R2W802Wcm22sp3nIw4Xg35YA/54dG
6o5N7ZRT75pa8qBg96Rf08/Qw6igwnhR1YRZ3HhC2mor22sp3XEu4Hc25H4954VF7o1L5JJVAH+GAIeH
AA4RoZWRyqyjwnhR1YRZ3HhC2mor22sp3XEu4Hc25H4954VF6oxM7ZNS75lZ8p9f+KJe0c3OxKigwXNM
1oZb34RT3HM422sq3m8u4XU05Hw754NC7YtI5JFTAH+GAFVWRxsF7ePfwqSbwXNM1oZb34RT3HM422sq
3m8u4XU05Hw754NC6opJ7JFQ75dX8p9d96Fcz8nKw6igvm5F1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB
64lH4ZNUAImSAAAA/75t0MrLwaSbvm5F1YZc3ohZ3XtE224w3W0s3nMy4Xo65IFB54hI6Y9P7JVW751b
9Z9azsbGxKmgtmE0z4JZ14he14NW03M90Gov0m0v1HE01ng73YFE0HxCAAAA/7Ro55VUzsfGwqactmE0
z4JZ14he14NW03M90Gov0m0v1HE01ng72X9D3IZI34tP4ZJU55VUzMPCxaqhrFAhxntVzoRbzoJbyXdJ
wmgzwGIpwWUsw2sxyHI4xnU8hVAr1YdK0IVGz8TDw6edrFAhxntVzoRbzoJbyXdJwmgzwGIpwWUsw2sx
x3E4yHc9y3xDzYJI0IVGzsG/xKSbokQXtGdEu3RSvXhXvHdWuXBKtWhBtmo/t21EuXNJvXpRyIdbxIpi
y49nz8C7w6GYokQXtGdEu3RSvXhXvHdWuXBKtWhBtmo/t21EuXNJvHlRwIJZxIpiy49nzb230snGyriy
y7q0yrmyyriyybmzybiyybqz0MK93dHN6N7c6uDf4NbT0sXAxravuqmg1MzJyriyy7q0yrmyyriyybmz
ybiyybqz0MK93dHN6N7c6uDf4NbT0sXAxravvKyjAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAsZqU4bR1sJ+es6CXqpmPraGZraOaxcG+r5SN4bR1rp6ds6CXqpmPraGZ
raObw7u2xKGKdI5ge2lpeG5meXBpenJqdmxktLKvwJqCjZZhq35vem9meXBpenJqdmxls6ymv4124W0y
6mcY83ov+YtB/5pQ/6ZX9NCtzoRpS047AAAA/nws+4xB/5pQ/6ZX7cajwZWC0mIk22gn4Hg35oZG7JNT
+KBb6Mir+oRhALa+AEhW6nEs54dG7JNT851a5MCiwJN/2npH2WUi33My5oNC75JR0IFF98alaXp5AOPn
bRAA83435YJC7JBP85pW47yev45534lb3W8w4W8t54A//5lSABce/+SwCKGkAGZuxlch5nIu54A/7I5N
9JpV4riZtnxg0IFV0ntNxl8gyGYn5nAqALG+XiwrAOboFSwp/5Rg02opyGUmznM01H071KmKw6CSvZCB
wpiHvpJ+yqCL8bKdAMnOAIODACkqKAAAOSAVWz4v1amU27Wk0a6aw6marpmT5Lh2sKOjs6SdppiRupiR
ALm7AP//AHZ2AKusABwez7auppiRp52XqKKcw7+6xKGKdI5ge2lpeG5lenBpjGlgAMbIAN3dAHh3AFhg
impje3BoeXBpe3Jqdmxls6umv4124W0y6mcY83ov+YtB/5VDAMbTAKOiAHJ7qjkJ928g8nov+YtB/5pQ
/6ZX7cajwZWC0mIk22gn4Hg35oZG/49HANPhAIKEMSAY8HQz2mgn4Hg35oZG7JNT851a5MCiwJN/2npH
2WUi33My5oNC/5VMAHyKCi0y+Led2HhF2WUi33My5oNC7JBP85pW47yev45534lb3W8w4W8t54A//5hP
AEFX6beWvIdy34lc3W8w4W8t54A/7I5N9JpV4riZt3xg0IBV0XtMxl8gyGYn03Qzk08c5biVsnVZ0IFV
0XtMxl8gyGYnznM01H071KmKwZ6Qv5SBwp2NvZWExZ+M1LOi17SfxK6iwZyPv5SBwp2NvZWExZ+M1LKi
zK6bw6yfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAA==
</value>
</data>
</root>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,241 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBoxMouseWithoutBorders0.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAAN4AAAAaCAYAAADYHuIVAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
vAAADrwBlbxySQAABjpJREFUeF7tmzF25DYQROeCvocPsUfwCXwB58433tSpQ4fOfAOZf96WWFtqkIA4
Inae+CtYTRMgGo1GExxpby8XFw/mj++6aNPceF++6+Li4vFcT7yLh/H3olunfl3036LPyvDG+7rIA/jv
oovjkIQe178WPRu/LPI5uH5bpFxh02H7fdHZaGzp26IZvNl4BEdO/bPIqSoawb44TibEM8bV/Zco1ImK
zIw5rp6tmsGbUXmvk0P5guzXXBfHyafFjKfBUdx/tPU0UZuzIac1Npr1PcYPM88nGlVY8PTza66Ll/tR
Cr0X+npMn/H9x/1HLZgbhWZe0q86smZH+CE6WnyvvjqX57ud62KFAvWe994/Fz1zTPMdFbUgRuTYrKe6
H+uro/AZvEbHA8eTj6Dws44LW99YfXZy07xnMb2wzXj3eQTyX2pB4jPHWU91f2XK7zHO4jU6vvCgjaZH
MclFsPi2Te2kz46fEFrxIMm2Es3j70f8Gez52iKPyxUkPfGa+W34no9n8DqykscXnc/YgYCh6l3vs+Mx
qd4ZdHpAFLCKLGiz6PG1Bacj9UWOjpfk18xNBy0fz+Q+sv8Kwc/dOhKQFPzMQlQbb9bj+lkgdh6viozr
LHp8bZFzIK/8WOca3dSPxP2YxX1kr1T+fuLVjwXh+OGbVLo23jZ+BCMRW6gNmkWvry3U10Xu6A8CfHOe
8UcCjI0cjY9mcR/ZN5j/7sW/UPFFkE068+jA5s/fxaCf5fhSfbGS7z4ur/xuT52RpNDrawtvX8UCPK8+
mmoc2dL+SPby9D5ydUFoIQiWoIKsPd4639qwvTAmcphIHmVcehcV1ZMZ9SawH5Fam1pjZDw0ZxLV7Yhr
rS8u9J7dkq8BHIlzxnjU1xbefwsV+9ycvXNyf7f+J4Riyroj5qN+yOnNma2xe/P0zcbrgQXzPr44OTHU
SlwCqzaanDud+JM55Unki8dEGT/77h2PfRPkUYXAI1W0rGyKh89P8kXEJyRyA+Mj7fXZ2/bGuTfGo75W
pE9baI08tiO5k0XKN4OSGzJXU2IkZ/bGzn4u5ektG/XgyZB93AlEMJVQmexrqzVYSoqq2vmEW8cY8Dlp
E+SiarwW1RxZDP8sfzyRUeLXWokEHjuvpNrY7nNvnNcWfTFeW2/7WuHxQXtku5HcyfWR3OcsiORFK3dH
cmZvbOUFauXpzRuhXrw6O15hlDzuqAcwq5ESgX+rpPD2XG8lhtpsiUDv4e3BF8c3G7hvTi7eFh4nKrAj
u+iN80iMR3ytIMm8vxcKzzN8An0WvXMSsqOcC/h1jdmao9ta8pxxe47t8+Balac3LqhRTzIKryaOB1iV
A/TNqR8t0kGNL1tFVrGqonhRcOEbfrhfW3hfFj1jpZ9FfobRZG61S3tvnEdiPOqrk32RNg9koVb71ubc
mpNQW+RfCkL6wwYWbhejOeNtcmzYy9Ox6BpeiRzZ0g5przavP0mywjl+Jkf+hPDKewRfDBKWRdC/squS
gmyJ7NW1hPv5PUX212e3CbePxlh2NIr3RWx0oc2D8InPXN/bEKKyy5Z20bpe2UdzRm332rfy9LUXSZYV
ZQ/dzBfPK6zbqRjc35OqOkYoUUjurBK8A3Dd0YL6IoPum+1HyHcO/Nc8ZPP5yJbIXl1L8LfyOfv3xnk0
xmqLRsj3O8nj4ycGxia+Tu+chNqiCj+V+P1ka92vJ2fUFiU9eToW3UCB8sXLBWCHEzg9JTKgasd1JQnO
Ve3VNqnsLT9QL14FkYLpG88DLFsie3UtIQaMm35m/944Y1ObkRijEXxTVWJcfKmO6GIkd0DtuN5CbRD3
93jkxhvJGbWpxta1xO1j0Q1wjBvpvUEwAU9OifYJk/JKRz9sCoJPzBeNCsL9tCitKpVPLUQS9KD5ZT/G
ks3nJFviSbmH5pTzqfr3xnkkxiO+OloHF/GqfMx8cUZyR9dyAzncr/INtfr15Izs1T168vTQxgOChM5C
j2xXHlkeiS8aiwgsgmw9T+RciC2qzSDbGXEe8dXxmFSb5CNQkRhdf9aMfh7jUfbG3svTp9t4Z6OnW1Y2
BdPRYmiDOp7QtNuC63ttPpIRX58Rnvaa3ywOj8z7iL/jXVw8AxQUnnhswvN5efkf+nnqL5jaAGcAAAAA
SUVORK5CYII=
</value>
</data>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="toolTipManual.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>107, 17</value>
</metadata>
<data name="textBoxDNS.Text" xml:space="preserve">
<value>You should always connect to other machines by name but if there is problem Resolving machine name to IP address (rarely), you can manually enter the mappings below. The app will use the IP Addresses from the mappings below and the DNS resolution result.
Note: If your machine IP address is dynamic, you will need to change the mapping each time the machine IP address changes.</value>
</data>
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>58</value>
</metadata>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32FIv3Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32EYv3Eo32AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32BIf3GJD2Eov3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAEo32CYn3GZD2DIf4Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QZv0FI72GpH2FIv3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32Con3HJH2FI72QJv0
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJb1FI72GZD2Ho/2Eo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEo32Eo32G5H2FI72NJb1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPpr0Fo72GZD2Don3Eo32AAAAAAAAAAAAAAAAAAAAAAAAEo32BIj3HJH2
Fo72Ppr0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpn0
Fo/2GZD2II/2Eo32AAAAAAAAAAAAAAAAEo32E432HJH2Fo/2Opn0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIo/2HJH2GZD2Foz3Eo32AAAAAAAAEo32
Cor3HJH2HJH2Io/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZ7zA4f3Con3Con3Con3Con3
Con3Con3Con3DYv3HJH2HpL2HZH2GZD2GIz2Eo32Eo32C4v3HJH2HpL2HpL2HJH2DYv3Con3Con3Con3
Con3Con3Con3Con3AIX4Eo32WqLzD432Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2F4/2HZH2HpL2HpL2HZH2
EY32O5j0Npf0FI72HZH2HpL2HpL2HJH2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2C4v3Eo32frPvSaPy
TqTyTqTyTqTyTqTyTqTyTqTyT6XyV6jxIJH2HZH2HpL2Eo32Opv0AAAAAAAALJT2FY/2HpL2HJH2K5T1
V6nxT6TyTqTyTqTyTqTyTqTyTqTyTqTyRqHzEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2
GY72HZH2Eo32OJr0AAAAAAAAAAAAAAAAKZP1FY/2G5H2I5H2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2Ho/2GpH2Eo32PZz0AAAAAAAAAAAAAAAAAAAA
AAAAL5b1FY/2GJD2KJT2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAHZH2G472GZD2E432Npn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJL1Fo/2Fo/2J5P2Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2HpD2GJD2FI72MZj1AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJZL2Fo/2Fo/2KpT1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHZH2FIv3GZD2E472MZf1AAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAA
JZL2Fo/2Fo/2H4/3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32H5D2Doz2M5j0AAAA
AAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAJpL1D4z2J5T1Eo32AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32NJj1AAAAAAAAAAAABAQE//jwBAQEBAQEAAAAAAAABAQE
//jwBAQEBAQEAAAAAAAAAAAAMJb1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQE
AAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////v//f/x/
/j/4P/wf/B/4P/4P8H//B+D//4PB///Bg/8AAAAAAAAAAAABgAD/g8H//wfg//4P8H/8H/g/+DPMH/hh
hh/84Yc//+GH///zz/////////////////////////////////8oAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32GJD2Eo32AAAAAAAAAAAAAAAAAAAA
AAAACYn3DIf4AAAAAAAAAAAAAAAAAAAAAAAANJb1GZD2Eo32AAAAAAAAAAAAAAAAEo32FI72AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOpn0GZD2Eo32AAAAAAAAE432Fo/2AAAAAAAAAAAAAAAAAAAAA4f3Con3
Con3Con3DYv3HpL2GZD2Eo32C4v3HpL2HJH2Con3Con3Con3Con3Eo32SaPyTqTyTqTyTqTyV6jxHZH2
Eo32AAAALJT2HpL2K5T1T6TyTqTyTqTyTqTyEo32AAAAAAAAAAAAAAAAHo/2Eo32AAAAAAAAAAAAL5b1
GJD2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAHpD2FI72AAAAAAAAAAAAAAAAAAAAJZL2Fo/2Eo32AAAA
AAAAAAAAAAAAAAAAEo32Doz2AAAABAQEBAQEAAAABAQEBAQEAAAAJpL1J5T1AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//8AAP//AAD//wAA7/8AAMfnAADjzwAA8Z8AAAAAAAABAAAA848AAOfHAADJJwAA+T8AAP//
AAD//wAA//8AAA==
</value>
</data>
</root>

View File

@@ -0,0 +1,146 @@
namespace MouseWithoutBorders
{
partial class FrmMessage
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMessage));
this.labelTitle = new System.Windows.Forms.Label();
this.textExtraInfo = new System.Windows.Forms.TextBox();
this.timerLife = new System.Windows.Forms.Timer(this.components);
this.labelLifeTime = new System.Windows.Forms.Label();
this.textBoxMessage = new System.Windows.Forms.TextBox();
this.pictureBoxIcon = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).BeginInit();
this.SuspendLayout();
//
// labelTitle
//
this.labelTitle.AutoSize = true;
this.labelTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelTitle.Location = new System.Drawing.Point(21, 0);
this.labelTitle.Name = "labelTitle";
this.labelTitle.Size = new System.Drawing.Size(168, 16);
this.labelTitle.TabIndex = 0;
this.labelTitle.Text = "Mouse Without Borders";
//
// textExtraInfo
//
this.textExtraInfo.BackColor = System.Drawing.SystemColors.Info;
this.textExtraInfo.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textExtraInfo.Dock = System.Windows.Forms.DockStyle.Bottom;
this.textExtraInfo.Enabled = false;
this.textExtraInfo.Font = new System.Drawing.Font("Microsoft Sans Serif", 63.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textExtraInfo.Location = new System.Drawing.Point(0, 161);
this.textExtraInfo.Margin = new System.Windows.Forms.Padding(20);
this.textExtraInfo.Multiline = true;
this.textExtraInfo.Name = "textExtraInfo";
this.textExtraInfo.ReadOnly = true;
this.textExtraInfo.Size = new System.Drawing.Size(720, 239);
this.textExtraInfo.TabIndex = 3;
this.textExtraInfo.Text = "???\r\nLLL";
this.textExtraInfo.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// timerLife
//
this.timerLife.Enabled = true;
this.timerLife.Interval = 1000;
this.timerLife.Tick += new System.EventHandler(this.TimerLife_Tick);
//
// labelLifeTime
//
this.labelLifeTime.AutoSize = true;
this.labelLifeTime.Dock = System.Windows.Forms.DockStyle.Right;
this.labelLifeTime.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.labelLifeTime.Location = new System.Drawing.Point(720, 0);
this.labelLifeTime.Name = "labelLifeTime";
this.labelLifeTime.Size = new System.Drawing.Size(0, 16);
this.labelLifeTime.TabIndex = 4;
//
// textBoxMessage
//
this.textBoxMessage.BackColor = System.Drawing.SystemColors.Info;
this.textBoxMessage.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textBoxMessage.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBoxMessage.Enabled = false;
this.textBoxMessage.Font = new System.Drawing.Font("Microsoft Sans Serif", 20.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.textBoxMessage.Location = new System.Drawing.Point(0, 0);
this.textBoxMessage.Margin = new System.Windows.Forms.Padding(20);
this.textBoxMessage.Multiline = true;
this.textBoxMessage.Name = "textBoxMessage";
this.textBoxMessage.ReadOnly = true;
this.textBoxMessage.Size = new System.Drawing.Size(720, 400);
this.textBoxMessage.TabIndex = 2;
this.textBoxMessage.Text = "Message Text";
this.textBoxMessage.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// pictureBoxIcon
//
this.pictureBoxIcon.Image = ((System.Drawing.Image)(resources.GetObject("pictureBoxIcon.Image")));
this.pictureBoxIcon.Location = new System.Drawing.Point(0, 0);
this.pictureBoxIcon.Name = "pictureBoxIcon";
this.pictureBoxIcon.Size = new System.Drawing.Size(16, 16);
this.pictureBoxIcon.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
this.pictureBoxIcon.TabIndex = 5;
this.pictureBoxIcon.TabStop = false;
//
// frmMessage
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(231)))));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(720, 400);
this.Controls.Add(this.pictureBoxIcon);
this.Controls.Add(this.labelLifeTime);
this.Controls.Add(this.textExtraInfo);
this.Controls.Add(this.labelTitle);
this.Controls.Add(this.textBoxMessage);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "frmMessage";
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "frmMessage";
this.TopMost = true;
this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.FrmMessage_FormClosed);
((System.ComponentModel.ISupportInitialize)(this.pictureBoxIcon)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Label labelTitle;
private System.Windows.Forms.TextBox textExtraInfo;
private System.Windows.Forms.Timer timerLife;
private System.Windows.Forms.Label labelLifeTime;
private System.Windows.Forms.TextBox textBoxMessage;
private System.Windows.Forms.PictureBox pictureBoxIcon;
}
}

View File

@@ -0,0 +1,53 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Globalization;
using System.Windows.Forms;
namespace MouseWithoutBorders
{
public partial class FrmMessage : System.Windows.Forms.Form
{
private int lifeTime = 10;
private int lifeSpent;
public FrmMessage(string text, string bigText, int lifeTime)
{
InitializeComponent();
Left = Top = 10;
UpdateInfo(text, bigText, lifeTime);
}
public void UpdateInfo(string text, string bigText, int lifeTime)
{
textExtraInfo.Visible = !string.IsNullOrEmpty(bigText);
textBoxMessage.Text = "\r\n" + text;
textExtraInfo.Text = bigText;
lifeSpent = 0;
this.lifeTime = lifeTime;
}
public void UpdateBigText(string bigText)
{
textExtraInfo.Text = bigText;
}
private void TimerLife_Tick(object sender, EventArgs e)
{
if (lifeSpent++ >= lifeTime)
{
Common.HideTopMostMessage();
}
labelLifeTime.Text = (lifeTime - lifeSpent).ToString(CultureInfo.CurrentCulture);
}
private void FrmMessage_FormClosed(object sender, FormClosedEventArgs e)
{
Common.NullTopMostMessage();
}
}
}

View File

@@ -0,0 +1,208 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="timerLife.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBoxIcon.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADRSURBVDhPY2AYnoCFheU/CIN8h8zG69tvvUL/v/XwYWhC
NuDrJLX/X6eog9VgBd8myP3/1ieCVcG3Sar/v/WL/QdZhN8l/UBD0BR9nab//9sECeyaPy32/P9piR8c
f1wR/v/bRFm44m9TdP5/myQHdLo2UI0/ilqwRd/bmf9/7+RC4G5esIZvEyTBhnzv5obwJ8qgqgPqweqd
LzOt4Jphfv3WKwz2P8E093WaCYZmhCHAWMIRwGA14GjEFVBQU753cv7/0c6DJxoJRRFBPwxJBQDap6md
Ol5mFwAAAABJRU5ErkJggg==
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32FIv3Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32EYv3Eo32AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32BIf3GJD2Eov3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAEo32CYn3GZD2DIf4Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QZv0FI72GpH2FIv3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32Con3HJH2FI72QJv0
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJb1FI72GZD2Ho/2Eo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEo32Eo32G5H2FI72NJb1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPpr0Fo72GZD2Don3Eo32AAAAAAAAAAAAAAAAAAAAAAAAEo32BIj3HJH2
Fo72Ppr0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpn0
Fo/2GZD2II/2Eo32AAAAAAAAAAAAAAAAEo32E432HJH2Fo/2Opn0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIo/2HJH2GZD2Foz3Eo32AAAAAAAAEo32
Cor3HJH2HJH2Io/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZ7zA4f3Con3Con3Con3Con3
Con3Con3Con3DYv3HJH2HpL2HZH2GZD2GIz2Eo32Eo32C4v3HJH2HpL2HpL2HJH2DYv3Con3Con3Con3
Con3Con3Con3Con3AIX4Eo32WqLzD432Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2F4/2HZH2HpL2HpL2HZH2
EY32O5j0Npf0FI72HZH2HpL2HpL2HJH2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2C4v3Eo32frPvSaPy
TqTyTqTyTqTyTqTyTqTyTqTyT6XyV6jxIJH2HZH2HpL2Eo32Opv0AAAAAAAALJT2FY/2HpL2HJH2K5T1
V6nxT6TyTqTyTqTyTqTyTqTyTqTyTqTyRqHzEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2
GY72HZH2Eo32OJr0AAAAAAAAAAAAAAAAKZP1FY/2G5H2I5H2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2Ho/2GpH2Eo32PZz0AAAAAAAAAAAAAAAAAAAA
AAAAL5b1FY/2GJD2KJT2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAHZH2G472GZD2E432Npn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJL1Fo/2Fo/2J5P2Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2HpD2GJD2FI72MZj1AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJZL2Fo/2Fo/2KpT1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHZH2FIv3GZD2E472MZf1AAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAA
JZL2Fo/2Fo/2H4/3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32H5D2Doz2M5j0AAAA
AAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAJpL1D4z2J5T1Eo32AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32NJj1AAAAAAAAAAAABAQE//jwBAQEBAQEAAAAAAAABAQE
//jwBAQEBAQEAAAAAAAAAAAAMJb1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQE
AAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////v//f/x/
/j/4P/wf/B/4P/4P8H//B+D//4PB///Bg/8AAAAAAAAAAAABgAD/g8H//wfg//4P8H/8H/g/+DPMH/hh
hh/84Yc//+GH///zz/////////////////////////////////8oAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32GJD2Eo32AAAAAAAAAAAAAAAAAAAA
AAAACYn3DIf4AAAAAAAAAAAAAAAAAAAAAAAANJb1GZD2Eo32AAAAAAAAAAAAAAAAEo32FI72AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOpn0GZD2Eo32AAAAAAAAE432Fo/2AAAAAAAAAAAAAAAAAAAAA4f3Con3
Con3Con3DYv3HpL2GZD2Eo32C4v3HpL2HJH2Con3Con3Con3Con3Eo32SaPyTqTyTqTyTqTyV6jxHZH2
Eo32AAAALJT2HpL2K5T1T6TyTqTyTqTyTqTyEo32AAAAAAAAAAAAAAAAHo/2Eo32AAAAAAAAAAAAL5b1
GJD2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAHpD2FI72AAAAAAAAAAAAAAAAAAAAJZL2Fo/2Eo32AAAA
AAAAAAAAAAAAAAAAEo32Doz2AAAABAQEBAQEAAAABAQEBAQEAAAAJpL1J5T1AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//8AAP//AAD//wAA7/8AAMfnAADjzwAA8Z8AAAAAAAABAAAA848AAOfHAADJJwAA+T8AAP//
AAD//wAA//8AAA==
</value>
</data>
</root>

View File

@@ -0,0 +1,60 @@
namespace MouseWithoutBorders
{
partial class FrmMouseCursor
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMouseCursor));
this.SuspendLayout();
//
// frmMouseCursor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(32, 32);
this.ControlBox = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmMouseCursor";
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Mouse without Borders\'s mouse cursor";
this.TopMost = true;
this.TransparencyKey = System.Drawing.Color.Teal;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmMouseCursor_FormClosing);
this.LocationChanged += new System.EventHandler(this.FrmMouseCursor_LocationChanged);
this.ResumeLayout(false);
}
#endregion
}
}

View File

@@ -0,0 +1,54 @@
// Copyright (c) Microsoft Corporation
// The Microsoft Corporation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using System;
using System.Windows.Forms;
using MouseWithoutBorders.Class;
namespace MouseWithoutBorders
{
public partial class FrmMouseCursor : System.Windows.Forms.Form
{
public FrmMouseCursor()
{
InitializeComponent();
Width = Height = 32;
}
private void FrmMouseCursor_FormClosing(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
}
else
{
Common.MouseCursorForm = null;
}
}
private void FrmMouseCursor_LocationChanged(object sender, EventArgs e)
{
if (Setting.Values.DrawMouseEx)
{
const int DX = 0, DY = 2;
IntPtr hDesktop = NativeMethods.GetDesktopWindow();
IntPtr hdc = NativeMethods.GetWindowDC(hDesktop);
if (hdc != IntPtr.Zero)
{
for (int i = 0; i < 10; i++)
{
_ = NativeMethods.SetPixel(hdc, DX + Left + i, DY + Top + i, 0xFFFFFF);
_ = NativeMethods.SetPixel(hdc, DX + Left + 1, DY + Top + i, 0xFFFFFF);
_ = NativeMethods.SetPixel(hdc, DX + Left + i + 1, DY + Top + i, 0);
_ = NativeMethods.SetPixel(hdc, DX + Left, DY + Top + i, 0);
}
_ = NativeMethods.ReleaseDC(hDesktop, hdc);
}
}
}
}
}

View File

@@ -0,0 +1,130 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAADr4AAA6+AepCscAAAACkSURBVEhLxdbhDoAgCARgH503N0trTVEJ7lZr619fDONI
SYR7p3JRjROgGuXlOWeiUQGi8QAs4w1QjA7AGyMANlQAacwAmLEAMMYaABhbIGpYgJBhBPyGHXAanwCP
sfkPWlwMD3tGjcOuTm/Px6qqMq7vhMAYSuAwgD4ygYYe+mBg0hxMt6dLEaqI1dYFMX4FSm/iRWwWUzpw
FaEfZeM44q7WIgf0vwZLBDa8/AAAAABJRU5ErkJggg==
</value>
</data>
</root>

View File

@@ -0,0 +1,308 @@
namespace MouseWithoutBorders
{
partial class FrmScreen
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.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 Windows Form 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.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmScreen));
this.MainMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuExit = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.menuAbout = new System.Windows.Forms.ToolStripMenuItem();
this.menuHelp = new System.Windows.Forms.ToolStripMenuItem();
this.menuGenDumpFile = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.menuGetScreenCapture = new System.Windows.Forms.ToolStripMenuItem();
this.menuGetFromAll = new System.Windows.Forms.ToolStripMenuItem();
this.menuSendScreenCapture = new System.Windows.Forms.ToolStripMenuItem();
this.allToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuSend2Myself = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripSeparator();
this.menuWindowsPhone = new System.Windows.Forms.ToolStripMenuItem();
this.menuWindowsPhoneEnable = new System.Windows.Forms.ToolStripMenuItem();
this.menuWindowsPhoneDownload = new System.Windows.Forms.ToolStripMenuItem();
this.menuWindowsPhoneInformation = new System.Windows.Forms.ToolStripMenuItem();
this.menuReinstallKeyboardAndMouseHook = new System.Windows.Forms.ToolStripMenuItem();
this.menuMachineMatrix = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
this.MenuAllPC = new System.Windows.Forms.ToolStripMenuItem();
this.dUCTDOToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tRUONG2DToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.NotifyIcon = new System.Windows.Forms.NotifyIcon(this.components);
this.imgListIcon = new System.Windows.Forms.ImageList(this.components);
this.picLogonLogo = new System.Windows.Forms.PictureBox();
this.MainMenu.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.picLogonLogo)).BeginInit();
this.SuspendLayout();
//
// MainMenu
//
this.MainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuExit,
this.toolStripSeparator2,
this.menuAbout,
this.menuHelp,
this.menuGenDumpFile,
this.toolStripSeparator1,
this.menuGetScreenCapture,
this.menuSendScreenCapture,
this.toolStripMenuItem1,
this.menuWindowsPhone,
this.menuReinstallKeyboardAndMouseHook,
this.menuMachineMatrix,
this.toolStripMenuItem2,
this.MenuAllPC,
this.dUCTDOToolStripMenuItem,
this.tRUONG2DToolStripMenuItem});
this.MainMenu.Name = "MainMenu";
this.MainMenu.Size = new System.Drawing.Size(197, 292);
this.MainMenu.Opening += new System.ComponentModel.CancelEventHandler(this.MainMenu_Opening);
this.MainMenu.MouseLeave += new System.EventHandler(this.MainMenu_MouseLeave);
//
// menuExit
//
this.menuExit.ForeColor = System.Drawing.Color.Black;
this.menuExit.Name = "menuExit";
this.menuExit.Size = new System.Drawing.Size(196, 22);
this.menuExit.Text = "&Exit";
this.menuExit.Click += new System.EventHandler(this.MenuExit_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(193, 6);
//
// menuAbout
//
this.menuAbout.ForeColor = System.Drawing.Color.Black;
this.menuAbout.Name = "menuAbout";
this.menuAbout.Size = new System.Drawing.Size(196, 22);
this.menuAbout.Text = "A&bout";
this.menuAbout.Click += new System.EventHandler(this.MenuAbout_Click);
//
// menuHelp
//
this.menuHelp.Name = "menuHelp";
this.menuHelp.Size = new System.Drawing.Size(196, 22);
this.menuHelp.Text = "&Help && Questions";
this.menuHelp.Click += new System.EventHandler(this.MenuHelp_Click);
//
// menuGenDumpFile
//
this.menuGenDumpFile.Name = "menuGenDumpFile";
this.menuGenDumpFile.Size = new System.Drawing.Size(196, 22);
this.menuGenDumpFile.Text = "&Generate log";
this.menuGenDumpFile.ToolTipText = "Create logfile for triage, logfile will be generated under program directory.";
this.menuGenDumpFile.Visible = false;
this.menuGenDumpFile.Click += new System.EventHandler(this.MenuGenDumpFile_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(193, 6);
//
// menuGetScreenCapture
//
this.menuGetScreenCapture.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuGetFromAll});
this.menuGetScreenCapture.ForeColor = System.Drawing.Color.Black;
this.menuGetScreenCapture.Name = "menuGetScreenCapture";
this.menuGetScreenCapture.Size = new System.Drawing.Size(196, 22);
this.menuGetScreenCapture.Text = "&Get Screen Capture from";
//
// menuGetFromAll
//
this.menuGetFromAll.Enabled = false;
this.menuGetFromAll.Name = "menuGetFromAll";
this.menuGetFromAll.Size = new System.Drawing.Size(85, 22);
this.menuGetFromAll.Text = "All";
this.menuGetFromAll.Click += new System.EventHandler(this.MenuGetScreenCaptureClick);
//
// menuSendScreenCapture
//
this.menuSendScreenCapture.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.allToolStripMenuItem,
this.menuSend2Myself});
this.menuSendScreenCapture.ForeColor = System.Drawing.Color.Black;
this.menuSendScreenCapture.Name = "menuSendScreenCapture";
this.menuSendScreenCapture.Size = new System.Drawing.Size(196, 22);
this.menuSendScreenCapture.Text = "Send Screen &Capture to";
//
// allToolStripMenuItem
//
this.allToolStripMenuItem.Name = "allToolStripMenuItem";
this.allToolStripMenuItem.Size = new System.Drawing.Size(105, 22);
this.allToolStripMenuItem.Text = "All";
this.allToolStripMenuItem.Click += new System.EventHandler(this.MenuSendScreenCaptureClick);
//
// menuSend2Myself
//
this.menuSend2Myself.Name = "menuSend2Myself";
this.menuSend2Myself.Size = new System.Drawing.Size(105, 22);
this.menuSend2Myself.Text = "Myself";
this.menuSend2Myself.Click += new System.EventHandler(this.MenuSendScreenCaptureClick);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(193, 6);
//
// menuReinstallKeyboardAndMouseHook
//
this.menuReinstallKeyboardAndMouseHook.Name = "menuReinstallKeyboardAndMouseHook";
this.menuReinstallKeyboardAndMouseHook.Size = new System.Drawing.Size(196, 22);
this.menuReinstallKeyboardAndMouseHook.Text = "&Reinstall Input hook";
this.menuReinstallKeyboardAndMouseHook.ToolTipText = "This might help when keyboard/Mouse redirection stops working";
this.menuReinstallKeyboardAndMouseHook.Visible = false;
this.menuReinstallKeyboardAndMouseHook.Click += new System.EventHandler(this.MenuReinstallKeyboardAndMouseHook_Click);
//
// menuMachineMatrix
//
this.menuMachineMatrix.Font = new System.Drawing.Font(System.Windows.Forms.Control.DefaultFont.Name, System.Windows.Forms.Control.DefaultFont.Size, System.Drawing.FontStyle.Bold);
this.menuMachineMatrix.ForeColor = System.Drawing.Color.Black;
this.menuMachineMatrix.Name = "menuMachineMatrix";
this.menuMachineMatrix.Size = new System.Drawing.Size(196, 22);
this.menuMachineMatrix.Text = "&Settings";
this.menuMachineMatrix.Click += new System.EventHandler(this.MenuMachineMatrix_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(193, 6);
//
// menuAllPC
//
this.MenuAllPC.CheckOnClick = true;
this.MenuAllPC.Name = "menuAllPC";
this.MenuAllPC.Size = new System.Drawing.Size(196, 22);
this.MenuAllPC.Text = "&ALL COMPUTERS";
this.MenuAllPC.ToolTipText = "Repeat Mouse/keyboard in all machines.";
this.MenuAllPC.Click += new System.EventHandler(this.MenuAllPC_Click);
//
// dUCTDOToolStripMenuItem
//
this.dUCTDOToolStripMenuItem.Name = "dUCTDOToolStripMenuItem";
this.dUCTDOToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
this.dUCTDOToolStripMenuItem.Tag = "MACHINE: TEST1";
this.dUCTDOToolStripMenuItem.Text = "DUCTDO";
//
// tRUONG2DToolStripMenuItem
//
this.tRUONG2DToolStripMenuItem.Name = "tRUONG2DToolStripMenuItem";
this.tRUONG2DToolStripMenuItem.Size = new System.Drawing.Size(196, 22);
this.tRUONG2DToolStripMenuItem.Tag = "MACHINE: TEST2";
this.tRUONG2DToolStripMenuItem.Text = "TRUONG2D";
//
// notifyIcon
//
this.NotifyIcon.BalloonTipIcon = System.Windows.Forms.ToolTipIcon.Info;
this.NotifyIcon.BalloonTipText = "Microsoft® Visual Studio® 2010";
this.NotifyIcon.BalloonTipTitle = "Microsoft® Visual Studio® 2010";
this.NotifyIcon.ContextMenuStrip = this.MainMenu;
this.NotifyIcon.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon.Icon")));
this.NotifyIcon.Text = "Microsoft® Visual Studio® 2010";
this.NotifyIcon.MouseDown += new System.Windows.Forms.MouseEventHandler(this.NotifyIcon_MouseDown);
//
// imgListIcon
//
this.imgListIcon.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgListIcon.ImageStream")));
this.imgListIcon.TransparentColor = System.Drawing.Color.Transparent;
this.imgListIcon.Images.SetKeyName(0, "Logo.ico");
//
// picLogonLogo
//
this.picLogonLogo.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.picLogonLogo.Image = global::MouseWithoutBorders.Properties.Resources.MouseWithoutBorders;
this.picLogonLogo.Location = new System.Drawing.Point(99, 62);
this.picLogonLogo.Name = "picLogonLogo";
this.picLogonLogo.Size = new System.Drawing.Size(95, 17);
this.picLogonLogo.TabIndex = 1;
this.picLogonLogo.TabStop = false;
this.picLogonLogo.Visible = false;
//
// frmScreen
//
this.AllowDrop = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black;
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(10, 10);
this.ControlBox = false;
this.Controls.Add(this.picLogonLogo);
this.Cursor = System.Windows.Forms.Cursors.Default;
this.Enabled = false;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "frmScreen";
this.Opacity = 0.5D;
this.ShowIcon = false;
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Microsoft® Visual Studio® 2010 Application";
this.TopMost = true;
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmScreen_FormClosing);
this.Load += new System.EventHandler(this.FrmScreen_Load);
this.Shown += new System.EventHandler(this.FrmScreen_Shown);
this.MouseMove += new System.Windows.Forms.MouseEventHandler(this.FrmScreen_MouseMove);
this.MainMenu.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.picLogonLogo)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ToolStripMenuItem menuExit;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem menuMachineMatrix;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem dUCTDOToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem tRUONG2DToolStripMenuItem;
private System.Windows.Forms.ImageList imgListIcon;
private System.Windows.Forms.ToolStripMenuItem menuSendScreenCapture;
private System.Windows.Forms.ToolStripMenuItem menuSend2Myself;
private System.Windows.Forms.ToolStripMenuItem menuGetScreenCapture;
private System.Windows.Forms.ToolStripMenuItem menuGetFromAll;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripMenuItem allToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem menuAbout;
private System.Windows.Forms.PictureBox picLogonLogo;
private System.Windows.Forms.ToolStripMenuItem menuHelp;
private System.Windows.Forms.ToolStripMenuItem menuReinstallKeyboardAndMouseHook;
private System.Windows.Forms.ToolStripMenuItem menuGenDumpFile;
private System.Windows.Forms.ToolStripMenuItem menuWindowsPhone;
private System.Windows.Forms.ToolStripMenuItem menuWindowsPhoneEnable;
private System.Windows.Forms.ToolStripMenuItem menuWindowsPhoneInformation;
private System.Windows.Forms.ToolStripMenuItem menuWindowsPhoneDownload;
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,302 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="MainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="notifyIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>127, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAICAAAAAAGACoDAAAJgAAABAQAAAAABgAaAMAAM4MAAAoAAAAIAAAAEAAAAABABgAAAAAAAAM
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32FIv3Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32EYv3Eo32AAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32BIf3GJD2Eov3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAEo32CYn3GZD2DIf4Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
QZv0FI72GpH2FIv3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32Con3HJH2FI72QJv0
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANJb1FI72GZD2Ho/2Eo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEo32Eo32G5H2FI72NJb1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAPpr0Fo72GZD2Don3Eo32AAAAAAAAAAAAAAAAAAAAAAAAEo32BIj3HJH2
Fo72Ppr0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOpn0
Fo/2GZD2II/2Eo32AAAAAAAAAAAAAAAAEo32E432HJH2Fo/2Opn0AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIo/2HJH2GZD2Foz3Eo32AAAAAAAAEo32
Cor3HJH2HJH2Io/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZ7zA4f3Con3Con3Con3Con3
Con3Con3Con3DYv3HJH2HpL2HZH2GZD2GIz2Eo32Eo32C4v3HJH2HpL2HpL2HJH2DYv3Con3Con3Con3
Con3Con3Con3Con3AIX4Eo32WqLzD432Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2F4/2HZH2HpL2HpL2HZH2
EY32O5j0Npf0FI72HZH2HpL2HpL2HJH2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2Fo/2C4v3Eo32frPvSaPy
TqTyTqTyTqTyTqTyTqTyTqTyT6XyV6jxIJH2HZH2HpL2Eo32Opv0AAAAAAAALJT2FY/2HpL2HJH2K5T1
V6nxT6TyTqTyTqTyTqTyTqTyTqTyTqTyRqHzEo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2
GY72HZH2Eo32OJr0AAAAAAAAAAAAAAAAKZP1FY/2G5H2I5H2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2Ho/2GpH2Eo32PZz0AAAAAAAAAAAAAAAAAAAA
AAAAL5b1FY/2GJD2KJT2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAHZH2G472GZD2E432Npn0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKJL1Fo/2Fo/2J5P2Eo32AAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZH2HpD2GJD2FI72MZj1AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAJZL2Fo/2Fo/2KpT1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAHZH2FIv3GZD2E472MZf1AAAAAAAABAQEBAQEAAAAAAAAAAAAAAAABAQEBAQEAAAAAAAA
JZL2Fo/2Fo/2H4/3Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32H5D2Doz2M5j0AAAA
AAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAJpL1D4z2J5T1Eo32AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32NJj1AAAAAAAAAAAABAQE//jwBAQEBAQEAAAAAAAABAQE
//jwBAQEBAQEAAAAAAAAAAAAMJb1Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAABAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQE
AAAAAAAAAAAAAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/////////////////////////////////v//f/x/
/j/4P/wf/B/4P/4P8H//B+D//4PB///Bg/8AAAAAAAAAAAABgAD/g8H//wfg//4P8H/8H/g/+DPMH/hh
hh/84Yc//+GH///zz/////////////////////////////////8oAAAAEAAAACAAAAABABgAAAAAAAAD
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEo32GJD2Eo32AAAAAAAAAAAAAAAAAAAA
AAAACYn3DIf4AAAAAAAAAAAAAAAAAAAAAAAANJb1GZD2Eo32AAAAAAAAAAAAAAAAEo32FI72AAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAOpn0GZD2Eo32AAAAAAAAE432Fo/2AAAAAAAAAAAAAAAAAAAAA4f3Con3
Con3Con3DYv3HpL2GZD2Eo32C4v3HpL2HJH2Con3Con3Con3Con3Eo32SaPyTqTyTqTyTqTyV6jxHZH2
Eo32AAAALJT2HpL2K5T1T6TyTqTyTqTyTqTyEo32AAAAAAAAAAAAAAAAHo/2Eo32AAAAAAAAAAAAL5b1
GJD2Eo32AAAAAAAAAAAAAAAAAAAAAAAAAAAAHpD2FI72AAAAAAAAAAAAAAAAAAAAJZL2Fo/2Eo32AAAA
AAAAAAAAAAAAAAAAEo32Doz2AAAABAQEBAQEAAAABAQEBAQEAAAAJpL1J5T1AAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAABAQEBAQEAAAABAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAA//8AAP//AAD//wAA7/8AAMfnAADjzwAA8Z8AAAAAAAABAAAA848AAOfHAADJJwAA+T8AAP//
AAD//wAA//8AAA==
</value>
</data>
<metadata name="imgListIcon.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>233, 17</value>
</metadata>
<data name="imgListIcon.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABW
BwAAAk1TRnQBSQFMAwEBAAHEAQABxAEAASABAAEgAQAE/wEZAQAI/wFCAU0BNgcAATYDAAEoAwABgAMA
ASADAAEBAQABGAYAATD/AP8A/wD/AP8A/wD/AP8A/wAwAAESAY0B9jAAARIBjQH2/wBIAAESAY0B9gEU
AYsB9wESAY0B9ioAARIBjQH2AREBiwH3ARIBjQH2/wBCAAESAY0B9gEEAYcB9wEYAZAB9gESAYsB9wES
AY0B9iQAARIBjQH2AQkBiQH3ARkBkAH2AQwBhwH4ARIBjQH2/wBCAAFBAZsB9AEUAY4B9gEaAZEB9gEU
AYsB9wESAY0B9h4AARIBjQH2AQoBiQH3ARwBkQH2ARQBjgH2AUABmwH0/wBIAAE0AZYB9QEUAY4B9gEZ
AZAB9gEeAY8B9gESAY0B9hgAARIBjQH2ARIBjQH2ARsBkQH2ARQBjgH2ATQBlgH1/wBOAAE+AZoB9AEW
AY4B9gEZAZAB9gEOAYkB9wESAY0B9hIAARIBjQH2AQQBiAH3ARwBkQH2ARYBjgH2AT4BmgH0/wBUAAE6
AZkB9AEWAY8B9gEZAZAB9gEgAY8B9gESAY0B9gwAARIBjQH2ARMBjQH2ARwBkQH2ARYBjwH2AToBmQH0
/wBaAAEiAY8B9gEcAZEB9gEZAZAB9gEWAYwB9wESAY0B9gYAARIBjQH2AQoBigH3ARwBkQH2ARwBkQH2
ASIBjwH2/wA/AAFRAZ4B8wEDAYcB9wEKAYkB9wEKAYkB9wEKAYkB9wEKAYkB9wEKAYkB9wEKAYkB9wEK
AYkB9wENAYsB9wEcAZEB9gEeAZIB9gEdAZEB9gEZAZAB9gEYAYwB9gESAY0B9gESAY0B9gELAYsB9wEc
AZEB9gEeAZIB9gEeAZIB9gEcAZEB9gENAYsB9wEKAYkB9wEKAYkB9wEKAYkB9wEKAYkB9wEKAYkB9wEK
AYkB9wEKAYkB9wEAAYUB+AESAY0B9v8AIQABWgGiAfMBDwGNAfYBFgGPAfYBFgGPAfYBFgGPAfYBFgGP
AfYBFgGPAfYBFgGPAfYBFgGPAfYBFwGPAfYBHQGRAfYBHgGSAfYBHgGSAfYBHQGRAfYBEQGNAfYBOwGY
AfQBNgGXAfQBFAGOAfYBHQGRAfYBHgGSAfYBHgGSAfYBHAGRAfYBFgGPAfYBFgGPAfYBFgGPAfYBFgGP
AfYBFgGPAfYBFgGPAfYBFgGPAfYBFgGPAfYBCwGLAfcBEgGNAfb/ACEAAX4BswHvAUkBowHyAU4BpAHy
AU4BpAHyAU4BpAHyAU4BpAHyAU4BpAHyAU4BpAHyAU8BpQHyAVcBqAHxASABkQH2AR0BkQH2AR4BkgH2
ARIBjQH2AToBmwH0BgABLAGUAfYBFQGPAfYBHgGSAfYBHAGRAfYBKwGUAfUBVwGpAfEBTwGkAfIBTgGk
AfIBTgGkAfIBTgGkAfIBTgGkAfIBTgGkAfIBTgGkAfIBRgGhAfMBEgGNAfb/ADwAAR0BkQH2ARkBjgH2
AR0BkQH2ARIBjQH2ATgBmgH0DAABKQGTAfUBFQGPAfYBGwGRAfYBIwGRAfYBEgGNAfb/AFQAAR0BkQH2
AR4BjwH2ARoBkQH2ARIBjQH2AT0BnAH0EgABLwGWAfUBFQGPAfYBGAGQAfYBKAGUAfYBEgGNAfb/AE4A
AR0BkQH2ARsBjgH2ARkBkAH2ARMBjQH2ATYBmQH0GAABKAGSAfUBFgGPAfYBFgGPAfYBJwGTAfYBEgGN
Afb/AEgAAR0BkQH2AR4BkAH2ARgBkAH2ARQBjgH2ATEBmAH1HgABJQGSAfYBFgGPAfYBFgGPAfYBKgGU
AfUBEgGNAfb/AEIAAR0BkQH2ARQBiwH3ARkBkAH2ARMBjgH2ATEBlwH1BgAGBAwABgQGAAElAZIB9gEW
AY8B9gEWAY8B9gEfAY8B9wESAY0B9v8APwABEgGNAfYBHwGQAfYBDgGMAfYBMwGYAfQGAAwEBgAMBAYA
ASYBkgH1AQ8BjAH2AScBlAH1ARIBjQH2/wBCAAESAY0B9gE0AZgB9QkAAwQB/wH4AfAGBAYAAwQB/wH4
AfAGBAkAATABlgH1ARIBjQH2/wBUAAwEBgAMBP8AZgAGBAwABgT/AP8A/wD/AP8A/wD/AP8A/wD/AE4A
AUIBTQE+BwABPgMAASgDAAGAAwABIAMAAQEBAAEBBgABAhYAA/8BAAT/DAAE/wwABP8MAAT/DAAE/wwA
BP8MAAH+Av8BfwwAAfwBfwH+AT8MAAH4AT8B/AEfDAAB/AEfAfgBPwwAAf4BDwHwAX8MAAH/AQcB4AH/
DAAB/wGDAcEB/wwAAf8BwQGDAf8tAAEBAYANAAH/AYMBwQH/DAAB/wEHAeAB/wwAAf4BDwHwAX8MAAH8
AR8B+AE/DAAB+AEzAcwBHwwAAfgBYQGGAR8MAAH8AeEBhwE/DAAB/wHhAYcB/wwAAf8B8wHPAf8MAAT/
DAAE/wwABP8MAAT/DAAE/wwABP8MAAs=
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAICAAAAAAGACoDAAAFgAAACgAAAAgAAAAQAAAAAEAGAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQgAAQsAAQ8ABBMAABEA
BRcAAhIAAxEAARIAARIAABIAABIAABIAAREAAhAAAAoAFRsAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAABAd3q75O2j0dyez9+Vx9ml1+uZy9+f0OCf0OCjzuGkzuGozeOozeOozeGo
zuCv1uW02uaqydIABgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAd3rP//+i
3een4vKn4vWx7P+d2Oyu7P6Y1uaz7f+Xz+K88f+h0+m46v+i1emd0eKh0uChzNUAAwgAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAd3q39f2q7/m8//+q8P+KzuGz9/+Y4PG2/v+Lz+K4
+v+S0ea9/P+Qzuau7f+W1Oap4vGcz9kAAwgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABAd3rA//+2//+C0dy2//+n8f+N1+mh7/+H1eWr9/+W3/Oi6P+M0umt9f+X3fSh5vmY2eie1uEA
DhUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFgIKn8fWo/P+U6fOn+/+F1uWp
9/+M3uqt//+F0+Og7P6O2e+p8/+AzOOk7/+U3fGv8f+Y0t4AAwsAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAA6enqp+fqe+f2e+f+i/f+P4++v//+s/P+H1uGr+f+R3Oym7/+L1e2x/f+O
2PCg6f+V1+mc1eQADBcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAvcXC1//+j
//+K6++g/v+n/v+K3Oee7fa0//+N1+Oh6fqY3/Ou9/+H0eme6P+U2vGs6/+Yz94AAQ0AAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7fnup//2c/fuo//+R8vZ1z9ao+/+0//+T2+O9//+L
0N+0+P+IzOOy+P+S2PCi5fye2++h1OQACBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAzc3Ow//+g//+R9/ak//+k//+o/v+q9vy9//+e5e+2/v+Q2Omp9f+Q2/Gj7v+b4vaq6Pqh1eIA
Aw0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9eHq2//+U9vah//+J9PKm//+D
3d6t/P+k8fSv//+Q4+ui+f+D3eiS6/mH3+2o9/+M092f1t8AAgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAyZWi8//+b+PeN9PGc//+d/f2a8vKn9/ih8fKp/P6S6++f+v+L6vOY9f6T
7veG2eG6//+Jw8kABQgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABiiom6+/m4
//+m//2t//+l+/u2//+z//+z//+x//+t//+s//+p//+u//+v//+o9v21+f6i2t8ADxAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVfXg2bmk9gHswdHMwbW89eHo4dHQ7d3czcHI5
eX0ucHU3eIAwcXo2dH5bkpsmWF5TfH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/
AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD/AAD/AAD/AAD/AAD/AAD/AAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/
AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAD/AAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAskAAAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAskAAAZgAAAAAAAAAlZgAz/wAz/wAz
/wALkAAAAAALAAAz2wAz/wAd2wAAAAAUAAAz/wAz/wAl/wAAAAAskAAAZgAAAAAztgALkAAlZgAs/wAL
OgAz2wAz/wAUtgAAAAAskAAs2wAz/wAUtgAlZgAAZgAAAAALAAAs2wAAOgAskAALkAAAAAAskAAAZgAs
kAAAZgAAAAAlZgALkAAskAAAZgAdOgAd2wAAAAAskAAAZgAskAALkAAAAAAztgAAZgAskAALkAAAAAAz
tgAlZgAAZgAAAAAAAAAlZgALkAAstgAAOgAAAAAAAAAAAAAAAAALAAAz2wAz/wAAZgAskAAUkAAs2wAA
OgAAAAAskAAAZgAstgAAOgAAAAAdOgAUtgAlkAAAOgAAAAAlZgAlZgAAZgAAAAAAAAAdOgAUtgAztgAz
/wAz/wAz/wAUtgAlZgAs/wAAOgAAAAAAAAAskAAz/wAUtgAAAAAAAAAskAAAZgAstgAAOgAAAAAdOgAU
tgAlkAAAOgAAAAAlZgAlZgAAZgAAAAAAAAAdOgAUtgAskAAAZgAAAAAlZgALkAAskAAAZgAAAAAskAAA
ZgAskAALZgAs2wAAOgAAAAAskAAAZgAskAALkAAAAAAztgAAZgAskAALkAAAAAAztgAlZgAAZgAAAAAA
AAAlZgALkAALAAAz2wAz/wAd2wAAAAAUAAAz/wAz/wAd2wAAAAAskAAAZgAUAAAz/wAUZgAz/wAs/wAL
OgAz2wAz/wAUtgAAAAAlkAAstgAz/wAUtgAlZgAAZgAAAAALAAAs2wAAOgAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAskAAAZgAAAAAAAAAAAAAskAAAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAlZgAz/wAz/wAz/wALkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAskAAAZgAAAAAA
AAAAAAAUAAAAZgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAD//AAA//gAAP/4AAD/+AAA//gAAP/4AAD/+AAA//gAAP/4AAD/+AAA//gAAP/4
AAD/+AAA//wAAf/n////5////+f///8A////AP///+f////n////5//3////9x5zaTVtrWrSdfta1nQ3
OtZ1rVrSdmNhNW//e/8f/3v//////w==
</value>
</data>
</root>