mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
Added Automate (Simple scripting / macro) to tools menu
This commit is contained in:
parent
8c45f19c01
commit
a128cb9c0b
20 changed files with 2434 additions and 477 deletions
127
ShareX.HelpersLib/Automate/AutomateForm.Designer.cs
generated
Normal file
127
ShareX.HelpersLib/Automate/AutomateForm.Designer.cs
generated
Normal file
|
@ -0,0 +1,127 @@
|
|||
namespace ShareX.HelpersLib
|
||||
{
|
||||
partial class AutomateForm
|
||||
{
|
||||
/// <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(AutomateForm));
|
||||
this.btnRun = new System.Windows.Forms.Button();
|
||||
this.rtbInput = new System.Windows.Forms.RichTextBox();
|
||||
this.pInput = new System.Windows.Forms.Panel();
|
||||
this.cbFunctions = new System.Windows.Forms.ComboBox();
|
||||
this.lblFunctions = new System.Windows.Forms.Label();
|
||||
this.pInput.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnRun
|
||||
//
|
||||
this.btnRun.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.btnRun.Location = new System.Drawing.Point(8, 484);
|
||||
this.btnRun.Name = "btnRun";
|
||||
this.btnRun.Size = new System.Drawing.Size(120, 24);
|
||||
this.btnRun.TabIndex = 1;
|
||||
this.btnRun.Text = "Run";
|
||||
this.btnRun.UseVisualStyleBackColor = true;
|
||||
this.btnRun.Click += new System.EventHandler(this.btnRun_Click);
|
||||
//
|
||||
// rtbInput
|
||||
//
|
||||
this.rtbInput.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.rtbInput.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rtbInput.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(162)));
|
||||
this.rtbInput.Location = new System.Drawing.Point(3, 3);
|
||||
this.rtbInput.Name = "rtbInput";
|
||||
this.rtbInput.Size = new System.Drawing.Size(495, 460);
|
||||
this.rtbInput.TabIndex = 2;
|
||||
this.rtbInput.Text = resources.GetString("rtbInput.Text");
|
||||
this.rtbInput.TextChanged += new System.EventHandler(this.rtbInput_TextChanged);
|
||||
//
|
||||
// pInput
|
||||
//
|
||||
this.pInput.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pInput.BackColor = System.Drawing.Color.White;
|
||||
this.pInput.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.pInput.Controls.Add(this.rtbInput);
|
||||
this.pInput.Location = new System.Drawing.Point(8, 8);
|
||||
this.pInput.Name = "pInput";
|
||||
this.pInput.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.pInput.Size = new System.Drawing.Size(503, 468);
|
||||
this.pInput.TabIndex = 3;
|
||||
//
|
||||
// cbFunctions
|
||||
//
|
||||
this.cbFunctions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cbFunctions.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
|
||||
this.cbFunctions.FormattingEnabled = true;
|
||||
this.cbFunctions.Location = new System.Drawing.Point(343, 484);
|
||||
this.cbFunctions.Name = "cbFunctions";
|
||||
this.cbFunctions.Size = new System.Drawing.Size(168, 21);
|
||||
this.cbFunctions.TabIndex = 4;
|
||||
//
|
||||
// lblFunctions
|
||||
//
|
||||
this.lblFunctions.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lblFunctions.AutoSize = true;
|
||||
this.lblFunctions.Location = new System.Drawing.Point(279, 488);
|
||||
this.lblFunctions.Name = "lblFunctions";
|
||||
this.lblFunctions.Size = new System.Drawing.Size(56, 13);
|
||||
this.lblFunctions.TabIndex = 5;
|
||||
this.lblFunctions.Text = "Functions:";
|
||||
//
|
||||
// AutomateForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(520, 516);
|
||||
this.Controls.Add(this.lblFunctions);
|
||||
this.Controls.Add(this.cbFunctions);
|
||||
this.Controls.Add(this.pInput);
|
||||
this.Controls.Add(this.btnRun);
|
||||
this.Name = "AutomateForm";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "ShareX - Automate";
|
||||
this.pInput.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button btnRun;
|
||||
private System.Windows.Forms.RichTextBox rtbInput;
|
||||
private System.Windows.Forms.Panel pInput;
|
||||
private System.Windows.Forms.ComboBox cbFunctions;
|
||||
private System.Windows.Forms.Label lblFunctions;
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
140
ShareX.HelpersLib/Automate/AutomateForm.cs
Normal file
140
ShareX.HelpersLib/Automate/AutomateForm.cs
Normal file
|
@ -0,0 +1,140 @@
|
|||
#region License Information (GPL v3)
|
||||
|
||||
/*
|
||||
ShareX - A program that allows you to take screenshots and share any file type
|
||||
Copyright © 2007-2015 ShareX Developers
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.HelpersLib
|
||||
{
|
||||
public partial class AutomateForm : Form
|
||||
{
|
||||
private FunctionManager functionManager = new FunctionManager();
|
||||
private Tokenizer tokenizer = new Tokenizer();
|
||||
private bool isWorking;
|
||||
|
||||
public AutomateForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
Icon = ShareXResources.Icon;
|
||||
tokenizer.Keywords = FunctionManager.Functions.Select(x => x.Key).ToArray();
|
||||
Tokenize();
|
||||
cbFunctions.Items.AddRange(tokenizer.Keywords);
|
||||
}
|
||||
|
||||
private void rtbInput_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Tokenize();
|
||||
}
|
||||
|
||||
private void Tokenize()
|
||||
{
|
||||
if (!string.IsNullOrEmpty(rtbInput.Text))
|
||||
{
|
||||
List<Token> tokens = tokenizer.Tokenize(rtbInput.Text);
|
||||
SyntaxHighlighting(tokens);
|
||||
}
|
||||
}
|
||||
|
||||
private void SyntaxHighlighting(List<Token> tokens)
|
||||
{
|
||||
int start = rtbInput.SelectionStart;
|
||||
int length = rtbInput.SelectionLength;
|
||||
|
||||
rtbInput.BeginUpdate();
|
||||
|
||||
foreach (Token token in tokens)
|
||||
{
|
||||
Color color;
|
||||
|
||||
switch (token.Type)
|
||||
{
|
||||
default:
|
||||
continue;
|
||||
case TokenType.Symbol:
|
||||
color = Color.Red;
|
||||
break;
|
||||
case TokenType.Literal:
|
||||
color = Color.Brown;
|
||||
break;
|
||||
case TokenType.Identifier:
|
||||
color = Color.DarkBlue;
|
||||
break;
|
||||
case TokenType.Numeric:
|
||||
color = Color.Blue;
|
||||
break;
|
||||
case TokenType.Keyword:
|
||||
color = Color.Green;
|
||||
break;
|
||||
}
|
||||
|
||||
rtbInput.SelectionStart = token.Position;
|
||||
rtbInput.SelectionLength = token.Text.Length;
|
||||
rtbInput.SelectionColor = color;
|
||||
}
|
||||
|
||||
rtbInput.Select(start, length);
|
||||
rtbInput.EndUpdate();
|
||||
}
|
||||
|
||||
private void btnRun_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!isWorking)
|
||||
{
|
||||
isWorking = true;
|
||||
btnRun.Enabled = false;
|
||||
string[] lines = rtbInput.Lines;
|
||||
BackgroundWorker bw = new BackgroundWorker();
|
||||
bw.DoWork += new DoWorkEventHandler(bw_DoWork);
|
||||
bw.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bw_RunWorkerCompleted);
|
||||
bw.RunWorkerAsync(lines);
|
||||
}
|
||||
}
|
||||
|
||||
private void bw_DoWork(object sender, DoWorkEventArgs e)
|
||||
{
|
||||
string[] lines = e.Argument as string[];
|
||||
|
||||
try
|
||||
{
|
||||
functionManager.Compile(lines);
|
||||
functionManager.Run();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void bw_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
|
||||
{
|
||||
isWorking = false;
|
||||
btnRun.Enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
144
ShareX.HelpersLib/Automate/AutomateForm.resx
Normal file
144
ShareX.HelpersLib/Automate/AutomateForm.resx
Normal file
|
@ -0,0 +1,144 @@
|
|||
<?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>
|
||||
<data name="rtbInput.Text" xml:space="preserve">
|
||||
<value>Wait 2000
|
||||
Goto TestFunction
|
||||
5 KeyPress key_z
|
||||
3 Goto MyFunction
|
||||
KeyPress return
|
||||
|
||||
Func TestFunction
|
||||
KeyDown space
|
||||
KeyUp space
|
||||
KeyPress key_a
|
||||
KeyPressText "Test :)"
|
||||
MouseMove 300 250
|
||||
MouseDown left
|
||||
MouseUp left
|
||||
MouseClick right
|
||||
Wait 500
|
||||
MouseClick 100 450 left
|
||||
MouseWheel 120
|
||||
|
||||
Func MyFunction
|
||||
Wait 1000
|
||||
KeyPressText "123"</value>
|
||||
</data>
|
||||
</root>
|
207
ShareX.HelpersLib/Automate/Function.cs
Normal file
207
ShareX.HelpersLib/Automate/Function.cs
Normal file
|
@ -0,0 +1,207 @@
|
|||
#region License Information (GPL v3)
|
||||
|
||||
/*
|
||||
ShareX - A program that allows you to take screenshots and share any file type
|
||||
Copyright © 2007-2015 ShareX Developers
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
using System;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.HelpersLib
|
||||
{
|
||||
public class Function
|
||||
{
|
||||
public string Name { get; set; }
|
||||
public string[] Parameters { get; set; }
|
||||
public int Loop { get; set; }
|
||||
|
||||
public FunctionManager FunctionManager { protected get; set; }
|
||||
|
||||
public Function()
|
||||
{
|
||||
Loop = 1;
|
||||
}
|
||||
|
||||
public void Run()
|
||||
{
|
||||
Console.WriteLine(string.Format("{0}({1})", Name, string.Join(", ", Parameters)));
|
||||
|
||||
for (int i = 0; i < Loop; i++)
|
||||
{
|
||||
Method();
|
||||
}
|
||||
}
|
||||
|
||||
public virtual void Prepare()
|
||||
{
|
||||
}
|
||||
|
||||
protected virtual void Method()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_Goto : Function
|
||||
{
|
||||
public override void Prepare()
|
||||
{
|
||||
int index;
|
||||
|
||||
if (!int.TryParse(Parameters[0], out index))
|
||||
{
|
||||
index = FunctionManager.FindFunctionIndex(Parameters[0]);
|
||||
|
||||
if (index > -1)
|
||||
{
|
||||
Parameters[0] = (index + 1).ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected override void Method()
|
||||
{
|
||||
int lineIndex;
|
||||
|
||||
if (int.TryParse(Parameters[0], out lineIndex) && lineIndex > 0)
|
||||
{
|
||||
FunctionManager.Run(lineIndex);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_Wait : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
int delay;
|
||||
|
||||
if (int.TryParse(Parameters[0], out delay))
|
||||
{
|
||||
Thread.Sleep(delay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_KeyDown : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
VirtualKeyCode keyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Parameters[0], true);
|
||||
InputHelpers.SendKeyDown(keyCode);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_KeyUp : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
VirtualKeyCode keyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Parameters[0], true);
|
||||
InputHelpers.SendKeyUp(keyCode);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_KeyPress : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
VirtualKeyCode keyCode = (VirtualKeyCode)Enum.Parse(typeof(VirtualKeyCode), Parameters[0], true);
|
||||
InputHelpers.SendKeyPress(keyCode);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_KeyPressText : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
InputHelpers.SendKeyPressText(Parameters[0]);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_MouseDown : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
MouseButtons button = (MouseButtons)Enum.Parse(typeof(MouseButtons), Parameters[0], true);
|
||||
InputHelpers.SendMouseDown(button);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_MouseUp : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
MouseButtons button = (MouseButtons)Enum.Parse(typeof(MouseButtons), Parameters[0], true);
|
||||
InputHelpers.SendMouseUp(button);
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_MouseClick : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
MouseButtons button;
|
||||
|
||||
if (Parameters.Length == 3)
|
||||
{
|
||||
int x, y;
|
||||
|
||||
if (int.TryParse(Parameters[0], out x) && int.TryParse(Parameters[1], out y))
|
||||
{
|
||||
button = (MouseButtons)Enum.Parse(typeof(MouseButtons), Parameters[2], true);
|
||||
InputHelpers.SendMouseClick(x, y, button);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
button = (MouseButtons)Enum.Parse(typeof(MouseButtons), Parameters[0], true);
|
||||
InputHelpers.SendMouseClick(button);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_MouseMove : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
int x, y;
|
||||
|
||||
if (int.TryParse(Parameters[0], out x) && int.TryParse(Parameters[1], out y))
|
||||
{
|
||||
InputHelpers.SendMouseMove(x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class Function_MouseWheel : Function
|
||||
{
|
||||
protected override void Method()
|
||||
{
|
||||
int delta;
|
||||
|
||||
if (int.TryParse(Parameters[0], out delta))
|
||||
{
|
||||
InputHelpers.SendMouseWheel(delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
163
ShareX.HelpersLib/Automate/FunctionManager.cs
Normal file
163
ShareX.HelpersLib/Automate/FunctionManager.cs
Normal file
|
@ -0,0 +1,163 @@
|
|||
#region License Information (GPL v3)
|
||||
|
||||
/*
|
||||
ShareX - A program that allows you to take screenshots and share any file type
|
||||
Copyright © 2007-2015 ShareX Developers
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
|
||||
namespace ShareX.HelpersLib
|
||||
{
|
||||
public class FunctionManager
|
||||
{
|
||||
public static readonly Dictionary<string, Type> Functions = new Dictionary<string, Type>()
|
||||
{
|
||||
{ "Func", typeof(Function) },
|
||||
{ "Goto", typeof(Function_Goto) },
|
||||
{ "Wait", typeof(Function_Wait) },
|
||||
{ "KeyDown", typeof(Function_KeyDown) },
|
||||
{ "KeyUp", typeof(Function_KeyDown) },
|
||||
{ "KeyPress", typeof(Function_KeyPress) },
|
||||
{ "KeyPressText", typeof(Function_KeyPressText) },
|
||||
{ "MouseDown", typeof(Function_MouseDown) },
|
||||
{ "MouseUp", typeof(Function_MouseUp) },
|
||||
{ "MouseClick", typeof(Function_MouseClick) },
|
||||
{ "MouseMove", typeof(Function_MouseMove) },
|
||||
{ "MouseWheel", typeof(Function_MouseWheel) }
|
||||
};
|
||||
|
||||
public List<Function> FunctionList { get; private set; }
|
||||
public int LineDelay { get; set; }
|
||||
|
||||
private bool stopRequest;
|
||||
|
||||
public Function GetFunction(string name, string[] parameters)
|
||||
{
|
||||
if (Functions.ContainsKey(name))
|
||||
{
|
||||
Function func = (Function)Activator.CreateInstance(Functions[name]);
|
||||
func.Name = name;
|
||||
func.Parameters = parameters;
|
||||
return func;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public int FindFunctionIndex(string name)
|
||||
{
|
||||
for (int i = 0; i < FunctionList.Count; i++)
|
||||
{
|
||||
Function function = FunctionList[i];
|
||||
|
||||
if (function != null && function.GetType() == typeof(Function) && function.Parameters[0].
|
||||
Equals(name, StringComparison.InvariantCultureIgnoreCase))
|
||||
{
|
||||
return i;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public bool Compile(string[] lines)
|
||||
{
|
||||
FunctionList = new List<Function>();
|
||||
|
||||
foreach (string line in lines)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
Tokenizer tokenizer = new Tokenizer();
|
||||
tokenizer.AutoParseLiteral = true;
|
||||
tokenizer.Keywords = FunctionManager.Functions.Select(x => x.Key).ToArray();
|
||||
List<Token> tokens = tokenizer.Tokenize(line);
|
||||
|
||||
int loop = 1;
|
||||
|
||||
if (tokens[0].Type == TokenType.Numeric)
|
||||
{
|
||||
loop = int.Parse(tokens[0].Text);
|
||||
tokens.RemoveAt(0);
|
||||
}
|
||||
|
||||
if (tokens[0].Type == TokenType.Keyword)
|
||||
{
|
||||
string name = tokens[0].Text;
|
||||
string[] parameters = tokens.Skip(1).Select(x => x.Text).ToArray();
|
||||
Function tempFunction = GetFunction(name, parameters);
|
||||
|
||||
if (tempFunction != null)
|
||||
{
|
||||
tempFunction.FunctionManager = this;
|
||||
tempFunction.Loop = loop;
|
||||
FunctionList.Add(tempFunction);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FunctionList.Add(null);
|
||||
}
|
||||
|
||||
foreach (Function function in FunctionList)
|
||||
{
|
||||
function.Prepare();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void Run(int startIndex = 0)
|
||||
{
|
||||
if (FunctionList != null)
|
||||
{
|
||||
Function function;
|
||||
|
||||
for (int i = startIndex; i < FunctionList.Count && !stopRequest; i++)
|
||||
{
|
||||
function = FunctionList[i];
|
||||
|
||||
if (function == null)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
function.Run();
|
||||
|
||||
if (LineDelay > 0)
|
||||
{
|
||||
Thread.Sleep(LineDelay);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
{
|
||||
stopRequest = true;
|
||||
}
|
||||
}
|
||||
}
|
120
ShareX.HelpersLib/Input/InputHelpers.cs
Normal file
120
ShareX.HelpersLib/Input/InputHelpers.cs
Normal file
|
@ -0,0 +1,120 @@
|
|||
#region License Information (GPL v3)
|
||||
|
||||
/*
|
||||
ShareX - A program that allows you to take screenshots and share any file type
|
||||
Copyright © 2007-2015 ShareX Developers
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.HelpersLib
|
||||
{
|
||||
public static class InputHelpers
|
||||
{
|
||||
public static bool SendKeyDown(VirtualKeyCode keyCode)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddKeyDown(keyCode);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendKeyUp(VirtualKeyCode keyCode)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddKeyUp(keyCode);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendKeyPress(VirtualKeyCode keyCode)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddKeyPress(keyCode);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendKeyPressModifiers(VirtualKeyCode keyCode, params VirtualKeyCode[] modifiers)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddKeyPressModifiers(keyCode, modifiers);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendKeyPressText(string text)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddKeyPressText(text);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseDown(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseDown(button);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseUp(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseUp(button);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseClick(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseClick(button);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseClick(int x, int y, MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseClick(x, y, button);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseClick(Point position, MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
return SendMouseClick(position.X, position.Y, button);
|
||||
}
|
||||
|
||||
public static bool SendMouseMove(int x, int y)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseMove(x, y);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
|
||||
public static bool SendMouseMove(Point position)
|
||||
{
|
||||
return SendMouseMove(position.X, position.Y);
|
||||
}
|
||||
|
||||
public static bool SendMouseWheel(int delta)
|
||||
{
|
||||
InputManager inputManager = new InputManager();
|
||||
inputManager.AddMouseWheel(delta);
|
||||
return inputManager.SendInputs();
|
||||
}
|
||||
}
|
||||
}
|
208
ShareX.HelpersLib/Input/InputManager.cs
Normal file
208
ShareX.HelpersLib/Input/InputManager.cs
Normal file
|
@ -0,0 +1,208 @@
|
|||
#region License Information (GPL v3)
|
||||
|
||||
/*
|
||||
ShareX - A program that allows you to take screenshots and share any file type
|
||||
Copyright © 2007-2015 ShareX Developers
|
||||
|
||||
This program is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU General Public License
|
||||
as published by the Free Software Foundation; either version 2
|
||||
of the License, or (at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
Optionally you can also view the license at <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#endregion License Information (GPL v3)
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ShareX.HelpersLib
|
||||
{
|
||||
public class InputManager
|
||||
{
|
||||
public List<INPUT> InputList { get; private set; }
|
||||
|
||||
public bool AutoClearAfterSend { get; set; }
|
||||
|
||||
public InputManager()
|
||||
{
|
||||
InputList = new List<INPUT>();
|
||||
}
|
||||
|
||||
public bool SendInputs()
|
||||
{
|
||||
INPUT[] inputList = InputList.ToArray();
|
||||
uint len = (uint)inputList.Length;
|
||||
uint successfulInputs = NativeMethods.SendInput(len, inputList, Marshal.SizeOf(typeof(INPUT)));
|
||||
if (AutoClearAfterSend) ClearInputs();
|
||||
return successfulInputs == len;
|
||||
}
|
||||
|
||||
public void ClearInputs()
|
||||
{
|
||||
InputList.Clear();
|
||||
}
|
||||
|
||||
private void AddKeyInput(VirtualKeyCode keyCode, bool isKeyUp)
|
||||
{
|
||||
INPUT input = new INPUT();
|
||||
input.Type = InputType.InputKeyboard;
|
||||
input.Data.Keyboard = new KEYBDINPUT();
|
||||
input.Data.Keyboard.wVk = keyCode;
|
||||
if (isKeyUp) input.Data.Keyboard.dwFlags = KeyboardEventFlags.KEYEVENTF_KEYUP;
|
||||
InputList.Add(input);
|
||||
}
|
||||
|
||||
public void AddKeyDown(VirtualKeyCode keyCode)
|
||||
{
|
||||
AddKeyInput(keyCode, false);
|
||||
}
|
||||
|
||||
public void AddKeyUp(VirtualKeyCode keyCode)
|
||||
{
|
||||
AddKeyInput(keyCode, true);
|
||||
}
|
||||
|
||||
public void AddKeyPress(VirtualKeyCode keyCode)
|
||||
{
|
||||
AddKeyInput(keyCode, false);
|
||||
AddKeyInput(keyCode, true);
|
||||
}
|
||||
|
||||
public void AddKeyPressModifiers(VirtualKeyCode keyCode, params VirtualKeyCode[] modifiers)
|
||||
{
|
||||
foreach (VirtualKeyCode modifier in modifiers)
|
||||
{
|
||||
AddKeyDown(modifier);
|
||||
}
|
||||
|
||||
AddKeyPress(keyCode);
|
||||
|
||||
foreach (VirtualKeyCode modifier in modifiers)
|
||||
{
|
||||
AddKeyUp(modifier);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddKeyPressText(string text)
|
||||
{
|
||||
byte[] chars = Encoding.ASCII.GetBytes(text);
|
||||
|
||||
for (int i = 0; i < chars.Length; i++)
|
||||
{
|
||||
ushort scanCode = chars[i];
|
||||
|
||||
INPUT input = new INPUT();
|
||||
input.Type = InputType.InputKeyboard;
|
||||
input.Data.Keyboard = new KEYBDINPUT();
|
||||
input.Data.Keyboard.wScan = scanCode;
|
||||
input.Data.Keyboard.dwFlags = KeyboardEventFlags.KEYEVENTF_UNICODE;
|
||||
if ((scanCode & 0xFF00) == 0xE000) input.Data.Keyboard.dwFlags |= KeyboardEventFlags.KEYEVENTF_EXTENDEDKEY;
|
||||
InputList.Add(input);
|
||||
|
||||
input.Data.Keyboard.dwFlags |= KeyboardEventFlags.KEYEVENTF_KEYUP;
|
||||
InputList.Add(input);
|
||||
}
|
||||
}
|
||||
|
||||
private void AddMouseInput(MouseButtons button, bool isMouseUp)
|
||||
{
|
||||
INPUT input = new INPUT();
|
||||
input.Type = InputType.InputMouse;
|
||||
input.Data.Mouse = new MOUSEINPUT();
|
||||
|
||||
if (button == MouseButtons.Left)
|
||||
{
|
||||
input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_LEFTUP : MouseEventFlags.MOUSEEVENTF_LEFTDOWN;
|
||||
}
|
||||
else if (button == MouseButtons.Right)
|
||||
{
|
||||
input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_RIGHTUP : MouseEventFlags.MOUSEEVENTF_RIGHTDOWN;
|
||||
}
|
||||
else if (button == MouseButtons.Middle)
|
||||
{
|
||||
input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_MIDDLEUP : MouseEventFlags.MOUSEEVENTF_MIDDLEDOWN;
|
||||
}
|
||||
else if (button == MouseButtons.XButton1)
|
||||
{
|
||||
input.Data.Mouse.mouseData = (uint)MouseEventDataXButtons.XBUTTON1;
|
||||
input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_XUP : MouseEventFlags.MOUSEEVENTF_XDOWN;
|
||||
}
|
||||
else if (button == MouseButtons.XButton2)
|
||||
{
|
||||
input.Data.Mouse.mouseData = (uint)MouseEventDataXButtons.XBUTTON2;
|
||||
input.Data.Mouse.dwFlags = isMouseUp ? MouseEventFlags.MOUSEEVENTF_XUP : MouseEventFlags.MOUSEEVENTF_XDOWN;
|
||||
}
|
||||
|
||||
InputList.Add(input);
|
||||
}
|
||||
|
||||
public void AddMouseDown(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
AddMouseInput(button, false);
|
||||
}
|
||||
|
||||
public void AddMouseUp(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
AddMouseInput(button, true);
|
||||
}
|
||||
|
||||
public void AddMouseClick(MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
AddMouseDown(button);
|
||||
AddMouseUp(button);
|
||||
}
|
||||
|
||||
public void AddMouseClick(int x, int y, MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
AddMouseMove(x, y);
|
||||
AddMouseClick(button);
|
||||
}
|
||||
|
||||
public void AddMouseClick(Point position, MouseButtons button = MouseButtons.Left)
|
||||
{
|
||||
AddMouseMove(position);
|
||||
AddMouseClick(button);
|
||||
}
|
||||
|
||||
public void AddMouseMove(int x, int y)
|
||||
{
|
||||
INPUT input = new INPUT();
|
||||
input.Type = InputType.InputMouse;
|
||||
input.Data.Mouse = new MOUSEINPUT();
|
||||
input.Data.Mouse.dx = (int)Math.Ceiling((double)(x * 65535) / NativeMethods.GetSystemMetrics(SystemMetric.SM_CXSCREEN)) + 1;
|
||||
input.Data.Mouse.dy = (int)Math.Ceiling((double)(y * 65535) / NativeMethods.GetSystemMetrics(SystemMetric.SM_CYSCREEN)) + 1;
|
||||
input.Data.Mouse.dwFlags = MouseEventFlags.MOUSEEVENTF_MOVE | MouseEventFlags.MOUSEEVENTF_ABSOLUTE;
|
||||
InputList.Add(input);
|
||||
}
|
||||
|
||||
public void AddMouseMove(Point position)
|
||||
{
|
||||
AddMouseMove(position.X, position.Y);
|
||||
}
|
||||
|
||||
public void AddMouseWheel(int delta)
|
||||
{
|
||||
INPUT input = new INPUT();
|
||||
input.Type = InputType.InputMouse;
|
||||
input.Data.Mouse = new MOUSEINPUT();
|
||||
input.Data.Mouse.dwFlags = MouseEventFlags.MOUSEEVENTF_WHEEL;
|
||||
input.Data.Mouse.mouseData = (uint)delta;
|
||||
InputList.Add(input);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2032,4 +2032,739 @@ public enum CompositionAction : uint
|
|||
DWM_EC_DISABLECOMPOSITION = 0,
|
||||
DWM_EC_ENABLECOMPOSITION = 1
|
||||
}
|
||||
|
||||
public enum InputType : int
|
||||
{
|
||||
InputMouse,
|
||||
InputKeyboard,
|
||||
InputHardware
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum MouseEventFlags : uint
|
||||
{
|
||||
MOUSEEVENTF_MOVE = 0x0001,
|
||||
MOUSEEVENTF_LEFTDOWN = 0x0002,
|
||||
MOUSEEVENTF_LEFTUP = 0x0004,
|
||||
MOUSEEVENTF_RIGHTDOWN = 0x0008,
|
||||
MOUSEEVENTF_RIGHTUP = 0x0010,
|
||||
MOUSEEVENTF_MIDDLEDOWN = 0x0020,
|
||||
MOUSEEVENTF_MIDDLEUP = 0x0040,
|
||||
MOUSEEVENTF_XDOWN = 0x0080,
|
||||
MOUSEEVENTF_XUP = 0x0100,
|
||||
MOUSEEVENTF_WHEEL = 0x0800,
|
||||
MOUSEEVENTF_VIRTUALDESK = 0x4000,
|
||||
MOUSEEVENTF_ABSOLUTE = 0x8000
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum MouseEventDataXButtons : uint
|
||||
{
|
||||
None = 0x00000000,
|
||||
XBUTTON1 = 0x00000001,
|
||||
XBUTTON2 = 0x00000002
|
||||
}
|
||||
|
||||
[Flags]
|
||||
public enum KeyboardEventFlags : uint
|
||||
{
|
||||
KEYEVENTF_EXTENDEDKEY = 0x0001,
|
||||
KEYEVENTF_KEYUP = 0x0002,
|
||||
KEYEVENTF_UNICODE = 0x0004,
|
||||
KEYEVENTF_SCANCODE = 0x0008
|
||||
}
|
||||
|
||||
public enum VirtualKeyCode : ushort
|
||||
{
|
||||
///<summary>
|
||||
///Left mouse button
|
||||
///</summary>
|
||||
LBUTTON = 0x01,
|
||||
///<summary>
|
||||
///Right mouse button
|
||||
///</summary>
|
||||
RBUTTON = 0x02,
|
||||
///<summary>
|
||||
///Control-break processing
|
||||
///</summary>
|
||||
CANCEL = 0x03,
|
||||
///<summary>
|
||||
///Middle mouse button (three-button mouse)
|
||||
///</summary>
|
||||
MBUTTON = 0x04,
|
||||
///<summary>
|
||||
///Windows 2000/XP: X1 mouse button
|
||||
///</summary>
|
||||
XBUTTON1 = 0x05,
|
||||
///<summary>
|
||||
///Windows 2000/XP: X2 mouse button
|
||||
///</summary>
|
||||
XBUTTON2 = 0x06,
|
||||
///<summary>
|
||||
///BACKSPACE key
|
||||
///</summary>
|
||||
BACK = 0x08,
|
||||
///<summary>
|
||||
///TAB key
|
||||
///</summary>
|
||||
TAB = 0x09,
|
||||
///<summary>
|
||||
///CLEAR key
|
||||
///</summary>
|
||||
CLEAR = 0x0C,
|
||||
///<summary>
|
||||
///ENTER key
|
||||
///</summary>
|
||||
RETURN = 0x0D,
|
||||
///<summary>
|
||||
///SHIFT key
|
||||
///</summary>
|
||||
SHIFT = 0x10,
|
||||
///<summary>
|
||||
///CTRL key
|
||||
///</summary>
|
||||
CONTROL = 0x11,
|
||||
///<summary>
|
||||
///ALT key
|
||||
///</summary>
|
||||
MENU = 0x12,
|
||||
///<summary>
|
||||
///PAUSE key
|
||||
///</summary>
|
||||
PAUSE = 0x13,
|
||||
///<summary>
|
||||
///CAPS LOCK key
|
||||
///</summary>
|
||||
CAPITAL = 0x14,
|
||||
///<summary>
|
||||
///Input Method Editor (IME) Kana mode
|
||||
///</summary>
|
||||
KANA = 0x15,
|
||||
///<summary>
|
||||
///IME Hangul mode
|
||||
///</summary>
|
||||
HANGUL = 0x15,
|
||||
///<summary>
|
||||
///IME Junja mode
|
||||
///</summary>
|
||||
JUNJA = 0x17,
|
||||
///<summary>
|
||||
///IME final mode
|
||||
///</summary>
|
||||
FINAL = 0x18,
|
||||
///<summary>
|
||||
///IME Hanja mode
|
||||
///</summary>
|
||||
HANJA = 0x19,
|
||||
///<summary>
|
||||
///IME Kanji mode
|
||||
///</summary>
|
||||
KANJI = 0x19,
|
||||
///<summary>
|
||||
///ESC key
|
||||
///</summary>
|
||||
ESCAPE = 0x1B,
|
||||
///<summary>
|
||||
///IME convert
|
||||
///</summary>
|
||||
CONVERT = 0x1C,
|
||||
///<summary>
|
||||
///IME nonconvert
|
||||
///</summary>
|
||||
NONCONVERT = 0x1D,
|
||||
///<summary>
|
||||
///IME accept
|
||||
///</summary>
|
||||
ACCEPT = 0x1E,
|
||||
///<summary>
|
||||
///IME mode change request
|
||||
///</summary>
|
||||
MODECHANGE = 0x1F,
|
||||
///<summary>
|
||||
///SPACEBAR
|
||||
///</summary>
|
||||
SPACE = 0x20,
|
||||
///<summary>
|
||||
///PAGE UP key
|
||||
///</summary>
|
||||
PRIOR = 0x21,
|
||||
///<summary>
|
||||
///PAGE DOWN key
|
||||
///</summary>
|
||||
NEXT = 0x22,
|
||||
///<summary>
|
||||
///END key
|
||||
///</summary>
|
||||
END = 0x23,
|
||||
///<summary>
|
||||
///HOME key
|
||||
///</summary>
|
||||
HOME = 0x24,
|
||||
///<summary>
|
||||
///LEFT ARROW key
|
||||
///</summary>
|
||||
LEFT = 0x25,
|
||||
///<summary>
|
||||
///UP ARROW key
|
||||
///</summary>
|
||||
UP = 0x26,
|
||||
///<summary>
|
||||
///RIGHT ARROW key
|
||||
///</summary>
|
||||
RIGHT = 0x27,
|
||||
///<summary>
|
||||
///DOWN ARROW key
|
||||
///</summary>
|
||||
DOWN = 0x28,
|
||||
///<summary>
|
||||
///SELECT key
|
||||
///</summary>
|
||||
SELECT = 0x29,
|
||||
///<summary>
|
||||
///PRINT key
|
||||
///</summary>
|
||||
PRINT = 0x2A,
|
||||
///<summary>
|
||||
///EXECUTE key
|
||||
///</summary>
|
||||
EXECUTE = 0x2B,
|
||||
///<summary>
|
||||
///PRINT SCREEN key
|
||||
///</summary>
|
||||
SNAPSHOT = 0x2C,
|
||||
///<summary>
|
||||
///INS key
|
||||
///</summary>
|
||||
INSERT = 0x2D,
|
||||
///<summary>
|
||||
///DEL key
|
||||
///</summary>
|
||||
DELETE = 0x2E,
|
||||
///<summary>
|
||||
///HELP key
|
||||
///</summary>
|
||||
HELP = 0x2F,
|
||||
///<summary>
|
||||
///0 key
|
||||
///</summary>
|
||||
KEY_0 = 0x30,
|
||||
///<summary>
|
||||
///1 key
|
||||
///</summary>
|
||||
KEY_1 = 0x31,
|
||||
///<summary>
|
||||
///2 key
|
||||
///</summary>
|
||||
KEY_2 = 0x32,
|
||||
///<summary>
|
||||
///3 key
|
||||
///</summary>
|
||||
KEY_3 = 0x33,
|
||||
///<summary>
|
||||
///4 key
|
||||
///</summary>
|
||||
KEY_4 = 0x34,
|
||||
///<summary>
|
||||
///5 key
|
||||
///</summary>
|
||||
KEY_5 = 0x35,
|
||||
///<summary>
|
||||
///6 key
|
||||
///</summary>
|
||||
KEY_6 = 0x36,
|
||||
///<summary>
|
||||
///7 key
|
||||
///</summary>
|
||||
KEY_7 = 0x37,
|
||||
///<summary>
|
||||
///8 key
|
||||
///</summary>
|
||||
KEY_8 = 0x38,
|
||||
///<summary>
|
||||
///9 key
|
||||
///</summary>
|
||||
KEY_9 = 0x39,
|
||||
///<summary>
|
||||
///A key
|
||||
///</summary>
|
||||
KEY_A = 0x41,
|
||||
///<summary>
|
||||
///B key
|
||||
///</summary>
|
||||
KEY_B = 0x42,
|
||||
///<summary>
|
||||
///C key
|
||||
///</summary>
|
||||
KEY_C = 0x43,
|
||||
///<summary>
|
||||
///D key
|
||||
///</summary>
|
||||
KEY_D = 0x44,
|
||||
///<summary>
|
||||
///E key
|
||||
///</summary>
|
||||
KEY_E = 0x45,
|
||||
///<summary>
|
||||
///F key
|
||||
///</summary>
|
||||
KEY_F = 0x46,
|
||||
///<summary>
|
||||
///G key
|
||||
///</summary>
|
||||
KEY_G = 0x47,
|
||||
///<summary>
|
||||
///H key
|
||||
///</summary>
|
||||
KEY_H = 0x48,
|
||||
///<summary>
|
||||
///I key
|
||||
///</summary>
|
||||
KEY_I = 0x49,
|
||||
///<summary>
|
||||
///J key
|
||||
///</summary>
|
||||
KEY_J = 0x4A,
|
||||
///<summary>
|
||||
///K key
|
||||
///</summary>
|
||||
KEY_K = 0x4B,
|
||||
///<summary>
|
||||
///L key
|
||||
///</summary>
|
||||
KEY_L = 0x4C,
|
||||
///<summary>
|
||||
///M key
|
||||
///</summary>
|
||||
KEY_M = 0x4D,
|
||||
///<summary>
|
||||
///N key
|
||||
///</summary>
|
||||
KEY_N = 0x4E,
|
||||
///<summary>
|
||||
///O key
|
||||
///</summary>
|
||||
KEY_O = 0x4F,
|
||||
///<summary>
|
||||
///P key
|
||||
///</summary>
|
||||
KEY_P = 0x50,
|
||||
///<summary>
|
||||
///Q key
|
||||
///</summary>
|
||||
KEY_Q = 0x51,
|
||||
///<summary>
|
||||
///R key
|
||||
///</summary>
|
||||
KEY_R = 0x52,
|
||||
///<summary>
|
||||
///S key
|
||||
///</summary>
|
||||
KEY_S = 0x53,
|
||||
///<summary>
|
||||
///T key
|
||||
///</summary>
|
||||
KEY_T = 0x54,
|
||||
///<summary>
|
||||
///U key
|
||||
///</summary>
|
||||
KEY_U = 0x55,
|
||||
///<summary>
|
||||
///V key
|
||||
///</summary>
|
||||
KEY_V = 0x56,
|
||||
///<summary>
|
||||
///W key
|
||||
///</summary>
|
||||
KEY_W = 0x57,
|
||||
///<summary>
|
||||
///X key
|
||||
///</summary>
|
||||
KEY_X = 0x58,
|
||||
///<summary>
|
||||
///Y key
|
||||
///</summary>
|
||||
KEY_Y = 0x59,
|
||||
///<summary>
|
||||
///Z key
|
||||
///</summary>
|
||||
KEY_Z = 0x5A,
|
||||
///<summary>
|
||||
///Left Windows key (Microsoft Natural keyboard)
|
||||
///</summary>
|
||||
LWIN = 0x5B,
|
||||
///<summary>
|
||||
///Right Windows key (Natural keyboard)
|
||||
///</summary>
|
||||
RWIN = 0x5C,
|
||||
///<summary>
|
||||
///Applications key (Natural keyboard)
|
||||
///</summary>
|
||||
APPS = 0x5D,
|
||||
///<summary>
|
||||
///Computer Sleep key
|
||||
///</summary>
|
||||
SLEEP = 0x5F,
|
||||
///<summary>
|
||||
///Numeric keypad 0 key
|
||||
///</summary>
|
||||
NUMPAD0 = 0x60,
|
||||
///<summary>
|
||||
///Numeric keypad 1 key
|
||||
///</summary>
|
||||
NUMPAD1 = 0x61,
|
||||
///<summary>
|
||||
///Numeric keypad 2 key
|
||||
///</summary>
|
||||
NUMPAD2 = 0x62,
|
||||
///<summary>
|
||||
///Numeric keypad 3 key
|
||||
///</summary>
|
||||
NUMPAD3 = 0x63,
|
||||
///<summary>
|
||||
///Numeric keypad 4 key
|
||||
///</summary>
|
||||
NUMPAD4 = 0x64,
|
||||
///<summary>
|
||||
///Numeric keypad 5 key
|
||||
///</summary>
|
||||
NUMPAD5 = 0x65,
|
||||
///<summary>
|
||||
///Numeric keypad 6 key
|
||||
///</summary>
|
||||
NUMPAD6 = 0x66,
|
||||
///<summary>
|
||||
///Numeric keypad 7 key
|
||||
///</summary>
|
||||
NUMPAD7 = 0x67,
|
||||
///<summary>
|
||||
///Numeric keypad 8 key
|
||||
///</summary>
|
||||
NUMPAD8 = 0x68,
|
||||
///<summary>
|
||||
///Numeric keypad 9 key
|
||||
///</summary>
|
||||
NUMPAD9 = 0x69,
|
||||
///<summary>
|
||||
///Multiply key
|
||||
///</summary>
|
||||
MULTIPLY = 0x6A,
|
||||
///<summary>
|
||||
///Add key
|
||||
///</summary>
|
||||
ADD = 0x6B,
|
||||
///<summary>
|
||||
///Separator key
|
||||
///</summary>
|
||||
SEPARATOR = 0x6C,
|
||||
///<summary>
|
||||
///Subtract key
|
||||
///</summary>
|
||||
SUBTRACT = 0x6D,
|
||||
///<summary>
|
||||
///Decimal key
|
||||
///</summary>
|
||||
DECIMAL = 0x6E,
|
||||
///<summary>
|
||||
///Divide key
|
||||
///</summary>
|
||||
DIVIDE = 0x6F,
|
||||
///<summary>
|
||||
///F1 key
|
||||
///</summary>
|
||||
F1 = 0x70,
|
||||
///<summary>
|
||||
///F2 key
|
||||
///</summary>
|
||||
F2 = 0x71,
|
||||
///<summary>
|
||||
///F3 key
|
||||
///</summary>
|
||||
F3 = 0x72,
|
||||
///<summary>
|
||||
///F4 key
|
||||
///</summary>
|
||||
F4 = 0x73,
|
||||
///<summary>
|
||||
///F5 key
|
||||
///</summary>
|
||||
F5 = 0x74,
|
||||
///<summary>
|
||||
///F6 key
|
||||
///</summary>
|
||||
F6 = 0x75,
|
||||
///<summary>
|
||||
///F7 key
|
||||
///</summary>
|
||||
F7 = 0x76,
|
||||
///<summary>
|
||||
///F8 key
|
||||
///</summary>
|
||||
F8 = 0x77,
|
||||
///<summary>
|
||||
///F9 key
|
||||
///</summary>
|
||||
F9 = 0x78,
|
||||
///<summary>
|
||||
///F10 key
|
||||
///</summary>
|
||||
F10 = 0x79,
|
||||
///<summary>
|
||||
///F11 key
|
||||
///</summary>
|
||||
F11 = 0x7A,
|
||||
///<summary>
|
||||
///F12 key
|
||||
///</summary>
|
||||
F12 = 0x7B,
|
||||
///<summary>
|
||||
///F13 key
|
||||
///</summary>
|
||||
F13 = 0x7C,
|
||||
///<summary>
|
||||
///F14 key
|
||||
///</summary>
|
||||
F14 = 0x7D,
|
||||
///<summary>
|
||||
///F15 key
|
||||
///</summary>
|
||||
F15 = 0x7E,
|
||||
///<summary>
|
||||
///F16 key
|
||||
///</summary>
|
||||
F16 = 0x7F,
|
||||
///<summary>
|
||||
///F17 key
|
||||
///</summary>
|
||||
F17 = 0x80,
|
||||
///<summary>
|
||||
///F18 key
|
||||
///</summary>
|
||||
F18 = 0x81,
|
||||
///<summary>
|
||||
///F19 key
|
||||
///</summary>
|
||||
F19 = 0x82,
|
||||
///<summary>
|
||||
///F20 key
|
||||
///</summary>
|
||||
F20 = 0x83,
|
||||
///<summary>
|
||||
///F21 key
|
||||
///</summary>
|
||||
F21 = 0x84,
|
||||
///<summary>
|
||||
///F22 key, (PPC only) Key used to lock device.
|
||||
///</summary>
|
||||
F22 = 0x85,
|
||||
///<summary>
|
||||
///F23 key
|
||||
///</summary>
|
||||
F23 = 0x86,
|
||||
///<summary>
|
||||
///F24 key
|
||||
///</summary>
|
||||
F24 = 0x87,
|
||||
///<summary>
|
||||
///NUM LOCK key
|
||||
///</summary>
|
||||
NUMLOCK = 0x90,
|
||||
///<summary>
|
||||
///SCROLL LOCK key
|
||||
///</summary>
|
||||
SCROLL = 0x91,
|
||||
///<summary>
|
||||
///Left SHIFT key
|
||||
///</summary>
|
||||
LSHIFT = 0xA0,
|
||||
///<summary>
|
||||
///Right SHIFT key
|
||||
///</summary>
|
||||
RSHIFT = 0xA1,
|
||||
///<summary>
|
||||
///Left CONTROL key
|
||||
///</summary>
|
||||
LCONTROL = 0xA2,
|
||||
///<summary>
|
||||
///Right CONTROL key
|
||||
///</summary>
|
||||
RCONTROL = 0xA3,
|
||||
///<summary>
|
||||
///Left MENU key
|
||||
///</summary>
|
||||
LMENU = 0xA4,
|
||||
///<summary>
|
||||
///Right MENU key
|
||||
///</summary>
|
||||
RMENU = 0xA5,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Back key
|
||||
///</summary>
|
||||
BROWSER_BACK = 0xA6,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Forward key
|
||||
///</summary>
|
||||
BROWSER_FORWARD = 0xA7,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Refresh key
|
||||
///</summary>
|
||||
BROWSER_REFRESH = 0xA8,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Stop key
|
||||
///</summary>
|
||||
BROWSER_STOP = 0xA9,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Search key
|
||||
///</summary>
|
||||
BROWSER_SEARCH = 0xAA,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Favorites key
|
||||
///</summary>
|
||||
BROWSER_FAVORITES = 0xAB,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Browser Start and Home key
|
||||
///</summary>
|
||||
BROWSER_HOME = 0xAC,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Volume Mute key
|
||||
///</summary>
|
||||
VOLUME_MUTE = 0xAD,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Volume Down key
|
||||
///</summary>
|
||||
VOLUME_DOWN = 0xAE,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Volume Up key
|
||||
///</summary>
|
||||
VOLUME_UP = 0xAF,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Next Track key
|
||||
///</summary>
|
||||
MEDIA_NEXT_TRACK = 0xB0,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Previous Track key
|
||||
///</summary>
|
||||
MEDIA_PREV_TRACK = 0xB1,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Stop Media key
|
||||
///</summary>
|
||||
MEDIA_STOP = 0xB2,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Play/Pause Media key
|
||||
///</summary>
|
||||
MEDIA_PLAY_PAUSE = 0xB3,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Start Mail key
|
||||
///</summary>
|
||||
LAUNCH_MAIL = 0xB4,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Select Media key
|
||||
///</summary>
|
||||
LAUNCH_MEDIA_SELECT = 0xB5,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Start Application 1 key
|
||||
///</summary>
|
||||
LAUNCH_APP1 = 0xB6,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Start Application 2 key
|
||||
///</summary>
|
||||
LAUNCH_APP2 = 0xB7,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_1 = 0xBA,
|
||||
///<summary>
|
||||
///Windows 2000/XP: For any country/region, the '+' key
|
||||
///</summary>
|
||||
OEM_PLUS = 0xBB,
|
||||
///<summary>
|
||||
///Windows 2000/XP: For any country/region, the ',' key
|
||||
///</summary>
|
||||
OEM_COMMA = 0xBC,
|
||||
///<summary>
|
||||
///Windows 2000/XP: For any country/region, the '-' key
|
||||
///</summary>
|
||||
OEM_MINUS = 0xBD,
|
||||
///<summary>
|
||||
///Windows 2000/XP: For any country/region, the '.' key
|
||||
///</summary>
|
||||
OEM_PERIOD = 0xBE,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_2 = 0xBF,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_3 = 0xC0,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_4 = 0xDB,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_5 = 0xDC,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_6 = 0xDD,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_7 = 0xDE,
|
||||
///<summary>
|
||||
///Used for miscellaneous characters; it can vary by keyboard.
|
||||
///</summary>
|
||||
OEM_8 = 0xDF,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
|
||||
///</summary>
|
||||
OEM_102 = 0xE2,
|
||||
///<summary>
|
||||
///Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
|
||||
///</summary>
|
||||
PROCESSKEY = 0xE5,
|
||||
///<summary>
|
||||
///Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes.
|
||||
///The VK_PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information,
|
||||
///see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
|
||||
///</summary>
|
||||
PACKET = 0xE7,
|
||||
///<summary>
|
||||
///Attn key
|
||||
///</summary>
|
||||
ATTN = 0xF6,
|
||||
///<summary>
|
||||
///CrSel key
|
||||
///</summary>
|
||||
CRSEL = 0xF7,
|
||||
///<summary>
|
||||
///ExSel key
|
||||
///</summary>
|
||||
EXSEL = 0xF8,
|
||||
///<summary>
|
||||
///Erase EOF key
|
||||
///</summary>
|
||||
EREOF = 0xF9,
|
||||
///<summary>
|
||||
///Play key
|
||||
///</summary>
|
||||
PLAY = 0xFA,
|
||||
///<summary>
|
||||
///Zoom key
|
||||
///</summary>
|
||||
ZOOM = 0xFB,
|
||||
///<summary>
|
||||
///Reserved
|
||||
///</summary>
|
||||
NONAME = 0xFC,
|
||||
///<summary>
|
||||
///PA1 key
|
||||
///</summary>
|
||||
PA1 = 0xFD,
|
||||
///<summary>
|
||||
///Clear key
|
||||
///</summary>
|
||||
OEM_CLEAR = 0xFE
|
||||
}
|
||||
}
|
|
@ -183,6 +183,12 @@ public static partial class NativeMethods
|
|||
[DllImport("user32.dll")]
|
||||
public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern uint SendInput(uint nInputs, ref INPUT pInputs, int cbSize);
|
||||
|
||||
[DllImport("user32.dll")]
|
||||
public static extern uint SendInput(uint nInputs, [MarshalAs(UnmanagedType.LPArray), In] INPUT[] pInputs, int cbSize);
|
||||
|
||||
[DllImport("user32.dll", CharSet = CharSet.Auto)]
|
||||
public static extern IntPtr SendMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
|
||||
|
||||
|
|
|
@ -543,4 +543,52 @@ public BITMAPINFOHEADER(int width, int height, ushort bitCount)
|
|||
biClrImportant = 0;
|
||||
}
|
||||
}
|
||||
|
||||
public struct INPUT
|
||||
{
|
||||
public InputType Type;
|
||||
public InputUnion Data;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Explicit)]
|
||||
public struct InputUnion
|
||||
{
|
||||
[FieldOffset(0)]
|
||||
public MOUSEINPUT Mouse;
|
||||
|
||||
[FieldOffset(0)]
|
||||
public KEYBDINPUT Keyboard;
|
||||
|
||||
[FieldOffset(0)]
|
||||
public HARDWAREINPUT Hardware;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct MOUSEINPUT
|
||||
{
|
||||
public int dx;
|
||||
public int dy;
|
||||
public uint mouseData;
|
||||
public MouseEventFlags dwFlags;
|
||||
public uint time;
|
||||
public IntPtr dwExtraInfo;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct KEYBDINPUT
|
||||
{
|
||||
public VirtualKeyCode wVk;
|
||||
public ushort wScan;
|
||||
public KeyboardEventFlags dwFlags;
|
||||
public uint time;
|
||||
public IntPtr dwExtraInfo;
|
||||
}
|
||||
|
||||
[StructLayout(LayoutKind.Sequential)]
|
||||
public struct HARDWAREINPUT
|
||||
{
|
||||
public int uMsg;
|
||||
public short wParamL;
|
||||
public short wParamH;
|
||||
}
|
||||
}
|
|
@ -77,6 +77,14 @@
|
|||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ActionsCodeMenuEntry.cs" />
|
||||
<Compile Include="Automate\AutomateForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Automate\AutomateForm.Designer.cs">
|
||||
<DependentUpon>AutomateForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Automate\Function.cs" />
|
||||
<Compile Include="Automate\FunctionManager.cs" />
|
||||
<Compile Include="ClipboardFormat.cs" />
|
||||
<Compile Include="CodeMenu.cs" />
|
||||
<Compile Include="ColorMatrixManager.cs" />
|
||||
|
@ -125,6 +133,8 @@
|
|||
<Compile Include="Helpers\URLHelpers.cs" />
|
||||
<Compile Include="Helpers\MathHelpers.cs" />
|
||||
<Compile Include="CodeMenuEntry.cs" />
|
||||
<Compile Include="Input\InputHelpers.cs" />
|
||||
<Compile Include="Input\InputManager.cs" />
|
||||
<Compile Include="ListViewColumnSorter.cs" />
|
||||
<Compile Include="MimeTypes.cs" />
|
||||
<Compile Include="Native\LayeredForm.cs">
|
||||
|
@ -365,6 +375,9 @@
|
|||
<Compile Include="WindowState.cs" />
|
||||
<Compile Include="XmlColor.cs" />
|
||||
<Compile Include="XmlFont.cs" />
|
||||
<EmbeddedResource Include="Automate\AutomateForm.resx">
|
||||
<DependentUpon>AutomateForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Colors\ColorPickerForm.de.resx">
|
||||
<DependentUpon>ColorPickerForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
@ -40,7 +40,7 @@ namespace ShareX.UploadersLib
|
|||
{
|
||||
public class Uploader
|
||||
{
|
||||
private static readonly string UserAgent = "ShareX " + Application.ProductVersion;
|
||||
private static readonly string UserAgent = "ShareX";
|
||||
|
||||
public delegate void ProgressEventHandler(ProgressManager progress);
|
||||
public event ProgressEventHandler ProgressChanged;
|
||||
|
|
10
ShareX/Forms/MainForm.Designer.cs
generated
10
ShareX/Forms/MainForm.Designer.cs
generated
|
@ -81,6 +81,7 @@ private void InitializeComponent()
|
|||
this.tsmiFTPClient = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiTweetMessage = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiMonitorTest = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiAutomate = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tssMain1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.tsddbAfterCaptureTasks = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsddbAfterUploadTasks = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
|
@ -562,6 +563,7 @@ private void InitializeComponent()
|
|||
this.tsmiDNSChanger,
|
||||
this.tsmiQRCode,
|
||||
this.tsmiRuler,
|
||||
this.tsmiAutomate,
|
||||
this.tsmiIndexFolder,
|
||||
this.tsmiFTPClient,
|
||||
this.tsmiTweetMessage,
|
||||
|
@ -654,6 +656,13 @@ private void InitializeComponent()
|
|||
resources.ApplyResources(this.tsmiMonitorTest, "tsmiMonitorTest");
|
||||
this.tsmiMonitorTest.Click += new System.EventHandler(this.tsmiMonitorTest_Click);
|
||||
//
|
||||
// tsmiAutomate
|
||||
//
|
||||
this.tsmiAutomate.Image = global::ShareX.Properties.Resources.robot;
|
||||
this.tsmiAutomate.Name = "tsmiAutomate";
|
||||
resources.ApplyResources(this.tsmiAutomate, "tsmiAutomate");
|
||||
this.tsmiAutomate.Click += new System.EventHandler(this.tsmiAutomate_Click);
|
||||
//
|
||||
// tssMain1
|
||||
//
|
||||
this.tssMain1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
|
||||
|
@ -1927,5 +1936,6 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.ToolStripMenuItem tsmiTrayScreenColorPicker;
|
||||
public System.Windows.Forms.ToolStripMenuItem tsmiTrayRecentItems;
|
||||
private System.Windows.Forms.ContextMenuStrip cmsTray;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiAutomate;
|
||||
}
|
||||
}
|
|
@ -900,6 +900,11 @@ private void tsmiRuler_Click(object sender, EventArgs e)
|
|||
TaskHelpers.OpenRuler();
|
||||
}
|
||||
|
||||
private void tsmiAutomate_Click(object sender, EventArgs e)
|
||||
{
|
||||
TaskHelpers.OpenAutomate();
|
||||
}
|
||||
|
||||
private void tsmiIndexFolder_Click(object sender, EventArgs e)
|
||||
{
|
||||
TaskHelpers.OpenIndexFolder();
|
||||
|
|
|
@ -180,45 +180,6 @@
|
|||
<data name=">>lblSplitter.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="chFilename.Text" xml:space="preserve">
|
||||
<value>Filename</value>
|
||||
</data>
|
||||
<data name="chFilename.Width" type="System.Int32, mscorlib">
|
||||
<value>150</value>
|
||||
</data>
|
||||
<data name="chStatus.Text" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
</data>
|
||||
<data name="chProgress.Text" xml:space="preserve">
|
||||
<value>Progress</value>
|
||||
</data>
|
||||
<data name="chProgress.Width" type="System.Int32, mscorlib">
|
||||
<value>125</value>
|
||||
</data>
|
||||
<data name="chSpeed.Text" xml:space="preserve">
|
||||
<value>Speed</value>
|
||||
</data>
|
||||
<data name="chSpeed.Width" type="System.Int32, mscorlib">
|
||||
<value>75</value>
|
||||
</data>
|
||||
<data name="chElapsed.Text" xml:space="preserve">
|
||||
<value>Elapsed</value>
|
||||
</data>
|
||||
<data name="chElapsed.Width" type="System.Int32, mscorlib">
|
||||
<value>45</value>
|
||||
</data>
|
||||
<data name="chRemaining.Text" xml:space="preserve">
|
||||
<value>Remaining</value>
|
||||
</data>
|
||||
<data name="chRemaining.Width" type="System.Int32, mscorlib">
|
||||
<value>45</value>
|
||||
</data>
|
||||
<data name="chURL.Text" xml:space="preserve">
|
||||
<value>URL</value>
|
||||
</data>
|
||||
<data name="chURL.Width" type="System.Int32, mscorlib">
|
||||
<value>145</value>
|
||||
</data>
|
||||
<data name="lvUploads.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
|
@ -315,6 +276,45 @@
|
|||
<data name=">>scMain.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="chFilename.Text" xml:space="preserve">
|
||||
<value>Filename</value>
|
||||
</data>
|
||||
<data name="chFilename.Width" type="System.Int32, mscorlib">
|
||||
<value>150</value>
|
||||
</data>
|
||||
<data name="chStatus.Text" xml:space="preserve">
|
||||
<value>Status</value>
|
||||
</data>
|
||||
<data name="chProgress.Text" xml:space="preserve">
|
||||
<value>Progress</value>
|
||||
</data>
|
||||
<data name="chProgress.Width" type="System.Int32, mscorlib">
|
||||
<value>125</value>
|
||||
</data>
|
||||
<data name="chSpeed.Text" xml:space="preserve">
|
||||
<value>Speed</value>
|
||||
</data>
|
||||
<data name="chSpeed.Width" type="System.Int32, mscorlib">
|
||||
<value>75</value>
|
||||
</data>
|
||||
<data name="chElapsed.Text" xml:space="preserve">
|
||||
<value>Elapsed</value>
|
||||
</data>
|
||||
<data name="chElapsed.Width" type="System.Int32, mscorlib">
|
||||
<value>45</value>
|
||||
</data>
|
||||
<data name="chRemaining.Text" xml:space="preserve">
|
||||
<value>Remaining</value>
|
||||
</data>
|
||||
<data name="chRemaining.Width" type="System.Int32, mscorlib">
|
||||
<value>45</value>
|
||||
</data>
|
||||
<data name="chURL.Text" xml:space="preserve">
|
||||
<value>URL</value>
|
||||
</data>
|
||||
<data name="chURL.Width" type="System.Int32, mscorlib">
|
||||
<value>145</value>
|
||||
</data>
|
||||
<metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>17, 17</value>
|
||||
</metadata>
|
||||
|
@ -324,6 +324,306 @@
|
|||
<data name="tsMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Left</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.Text" xml:space="preserve">
|
||||
<value>Capture</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.Text" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>BottomLeft</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.Text" xml:space="preserve">
|
||||
<value>Workflows</value>
|
||||
</data>
|
||||
<data name="tsmiColorPicker.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiColorPicker.Text" xml:space="preserve">
|
||||
<value>Color picker...</value>
|
||||
</data>
|
||||
<data name="tsmiScreenColorPicker.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiScreenColorPicker.Text" xml:space="preserve">
|
||||
<value>Screen color picker...</value>
|
||||
</data>
|
||||
<data name="tsmiImageEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImageEditor.Text" xml:space="preserve">
|
||||
<value>Image editor...</value>
|
||||
</data>
|
||||
<data name="tsmiImageEffects.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImageEffects.Text" xml:space="preserve">
|
||||
<value>Image effects...</value>
|
||||
</data>
|
||||
<data name="tsmiHashCheck.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiHashCheck.Text" xml:space="preserve">
|
||||
<value>Hash check...</value>
|
||||
</data>
|
||||
<data name="tsmiDNSChanger.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiDNSChanger.Text" xml:space="preserve">
|
||||
<value>DNS changer...</value>
|
||||
</data>
|
||||
<data name="tsmiQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiQRCode.Text" xml:space="preserve">
|
||||
<value>QR code...</value>
|
||||
</data>
|
||||
<data name="tsmiRuler.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiRuler.Text" xml:space="preserve">
|
||||
<value>Ruler...</value>
|
||||
</data>
|
||||
<data name="tsmiAutomate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiAutomate.Text" xml:space="preserve">
|
||||
<value>Automate...</value>
|
||||
</data>
|
||||
<data name="tsmiIndexFolder.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiIndexFolder.Text" xml:space="preserve">
|
||||
<value>Index folder...</value>
|
||||
</data>
|
||||
<data name="tsmiFTPClient.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiFTPClient.Text" xml:space="preserve">
|
||||
<value>FTP client...</value>
|
||||
</data>
|
||||
<data name="tsmiTweetMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTweetMessage.Text" xml:space="preserve">
|
||||
<value>Tweet message...</value>
|
||||
</data>
|
||||
<data name="tsmiMonitorTest.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiMonitorTest.Text" xml:space="preserve">
|
||||
<value>Monitor test...</value>
|
||||
</data>
|
||||
<data name="tsddbTools.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbTools.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbTools.Text" xml:space="preserve">
|
||||
<value>Tools</value>
|
||||
</data>
|
||||
<data name="tssMain1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 6</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.Text" xml:space="preserve">
|
||||
<value>After capture tasks</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.Text" xml:space="preserve">
|
||||
<value>After upload tasks</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.Text" xml:space="preserve">
|
||||
<value>Destinations</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.Text" xml:space="preserve">
|
||||
<value>Application settings...</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.Text" xml:space="preserve">
|
||||
<value>Task settings...</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.Text" xml:space="preserve">
|
||||
<value>Hotkey settings...</value>
|
||||
</data>
|
||||
<data name="tssMain2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 6</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.Text" xml:space="preserve">
|
||||
<value>Screenshots folder...</value>
|
||||
</data>
|
||||
<data name="tsbHistory.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbHistory.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbHistory.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbHistory.Text" xml:space="preserve">
|
||||
<value>History...</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.Text" xml:space="preserve">
|
||||
<value>Image history...</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.Text" xml:space="preserve">
|
||||
<value>Debug</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.Text" xml:space="preserve">
|
||||
<value>Donate...</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.Text" xml:space="preserve">
|
||||
<value>About...</value>
|
||||
</data>
|
||||
<data name="tsMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tsMain.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>6, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="tsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 407</value>
|
||||
</data>
|
||||
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Name" xml:space="preserve">
|
||||
<value>tsMain</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tsMain.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="tsmiFullscreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>217, 22</value>
|
||||
</data>
|
||||
|
@ -426,18 +726,6 @@
|
|||
<data name="tsmiAutoCapture.Text" xml:space="preserve">
|
||||
<value>Auto capture...</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbCapture.Text" xml:space="preserve">
|
||||
<value>Capture</value>
|
||||
</data>
|
||||
<data name="tsmiUploadFile.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>203, 22</value>
|
||||
</data>
|
||||
|
@ -468,141 +756,6 @@
|
|||
<data name="tsmiUploadDragDrop.Text" xml:space="preserve">
|
||||
<value>Drag and drop upload...</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbUpload.Text" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>BottomLeft</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbWorkflows.Text" xml:space="preserve">
|
||||
<value>Workflows</value>
|
||||
</data>
|
||||
<data name="tsmiColorPicker.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiColorPicker.Text" xml:space="preserve">
|
||||
<value>Color picker...</value>
|
||||
</data>
|
||||
<data name="tsmiScreenColorPicker.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiScreenColorPicker.Text" xml:space="preserve">
|
||||
<value>Screen color picker...</value>
|
||||
</data>
|
||||
<data name="tsmiImageEditor.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImageEditor.Text" xml:space="preserve">
|
||||
<value>Image editor...</value>
|
||||
</data>
|
||||
<data name="tsmiImageEffects.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImageEffects.Text" xml:space="preserve">
|
||||
<value>Image effects...</value>
|
||||
</data>
|
||||
<data name="tsmiHashCheck.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiHashCheck.Text" xml:space="preserve">
|
||||
<value>Hash check...</value>
|
||||
</data>
|
||||
<data name="tsmiDNSChanger.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiDNSChanger.Text" xml:space="preserve">
|
||||
<value>DNS changer...</value>
|
||||
</data>
|
||||
<data name="tsmiQRCode.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiQRCode.Text" xml:space="preserve">
|
||||
<value>QR code...</value>
|
||||
</data>
|
||||
<data name="tsmiRuler.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiRuler.Text" xml:space="preserve">
|
||||
<value>Ruler...</value>
|
||||
</data>
|
||||
<data name="tsmiIndexFolder.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiIndexFolder.Text" xml:space="preserve">
|
||||
<value>Index folder...</value>
|
||||
</data>
|
||||
<data name="tsmiFTPClient.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiFTPClient.Text" xml:space="preserve">
|
||||
<value>FTP client...</value>
|
||||
</data>
|
||||
<data name="tsmiTweetMessage.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTweetMessage.Text" xml:space="preserve">
|
||||
<value>Tweet message...</value>
|
||||
</data>
|
||||
<data name="tsmiMonitorTest.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
<data name="tsmiMonitorTest.Text" xml:space="preserve">
|
||||
<value>Monitor test...</value>
|
||||
</data>
|
||||
<data name="tsddbTools.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbTools.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbTools.Text" xml:space="preserve">
|
||||
<value>Tools</value>
|
||||
</data>
|
||||
<data name="tssMain1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 6</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbAfterCaptureTasks.Text" xml:space="preserve">
|
||||
<value>After capture tasks</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbAfterUploadTasks.Text" xml:space="preserve">
|
||||
<value>After upload tasks</value>
|
||||
</data>
|
||||
<data name="tsmiImageUploaders.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>187, 22</value>
|
||||
</data>
|
||||
|
@ -642,93 +795,6 @@
|
|||
<data name="tsmiDestinationSettings.Text" xml:space="preserve">
|
||||
<value>Destination settings...</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbDestinations.Text" xml:space="preserve">
|
||||
<value>Destinations</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbApplicationSettings.Text" xml:space="preserve">
|
||||
<value>Application settings...</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbTaskSettings.Text" xml:space="preserve">
|
||||
<value>Task settings...</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbHotkeySettings.Text" xml:space="preserve">
|
||||
<value>Hotkey settings...</value>
|
||||
</data>
|
||||
<data name="tssMain2.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 6</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbScreenshotsFolder.Text" xml:space="preserve">
|
||||
<value>Screenshots folder...</value>
|
||||
</data>
|
||||
<data name="tsbHistory.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbHistory.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbHistory.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbHistory.Text" xml:space="preserve">
|
||||
<value>History...</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsbImageHistory.Text" xml:space="preserve">
|
||||
<value>Image history...</value>
|
||||
</data>
|
||||
<data name="tsmiShowDebugLog.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 22</value>
|
||||
</data>
|
||||
|
@ -765,69 +831,18 @@
|
|||
<data name="tsmiTestURLSharing.Text" xml:space="preserve">
|
||||
<value>Test URL sharing</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsddbDebug.Text" xml:space="preserve">
|
||||
<value>Debug</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsmiDonate.Text" xml:space="preserve">
|
||||
<value>Donate...</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
|
||||
<value>MiddleLeft</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
|
||||
<value>Magenta</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>147, 20</value>
|
||||
</data>
|
||||
<data name="tsmiAbout.Text" xml:space="preserve">
|
||||
<value>About...</value>
|
||||
</data>
|
||||
<data name="tsMain.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tsMain.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>6, 6, 6, 6</value>
|
||||
</data>
|
||||
<data name="tsMain.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>160, 407</value>
|
||||
</data>
|
||||
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Name" xml:space="preserve">
|
||||
<value>tsMain</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsMain.Parent" xml:space="preserve">
|
||||
<value>$this</value>
|
||||
</data>
|
||||
<data name=">>tsMain.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
</data>
|
||||
<metadata name="cmsTaskInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>286, 17</value>
|
||||
</metadata>
|
||||
<data name="cmsTaskInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 318</value>
|
||||
</data>
|
||||
<data name=">>cmsTaskInfo.Name" xml:space="preserve">
|
||||
<value>cmsTaskInfo</value>
|
||||
</data>
|
||||
<data name=">>cmsTaskInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="tsmiShowErrors.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
|
@ -840,6 +855,12 @@
|
|||
<data name="tsmiStopUpload.Text" xml:space="preserve">
|
||||
<value>Stop upload</value>
|
||||
</data>
|
||||
<data name="tsmiOpen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
<data name="tsmiOpen.Text" xml:space="preserve">
|
||||
<value>Open</value>
|
||||
</data>
|
||||
<data name="tsmiOpenURL.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>156, 22</value>
|
||||
</data>
|
||||
|
@ -885,11 +906,11 @@
|
|||
<data name="tsmiOpenThumbnailFile.Text" xml:space="preserve">
|
||||
<value>Thumbnail file</value>
|
||||
</data>
|
||||
<data name="tsmiOpen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="tsmiCopy.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
<data name="tsmiOpen.Text" xml:space="preserve">
|
||||
<value>Open</value>
|
||||
<data name="tsmiCopy.Text" xml:space="preserve">
|
||||
<value>Copy</value>
|
||||
</data>
|
||||
<data name="tsmiCopyURL.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>233, 22</value>
|
||||
|
@ -1023,12 +1044,6 @@
|
|||
<data name="tssCopy5.Visible" type="System.Boolean, mscorlib">
|
||||
<value>False</value>
|
||||
</data>
|
||||
<data name="tsmiCopy.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
<data name="tsmiCopy.Text" xml:space="preserve">
|
||||
<value>Copy</value>
|
||||
</data>
|
||||
<data name="tsmiUploadSelectedFile.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
|
@ -1086,38 +1101,29 @@
|
|||
<data name="tsmiHideMenu.Text" xml:space="preserve">
|
||||
<value>Hide menu</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewShow.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>152, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewShow.Text" xml:space="preserve">
|
||||
<value>Show</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewHide.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>152, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewHide.Text" xml:space="preserve">
|
||||
<value>Hide</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewAutomatic.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>152, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewAutomatic.Text" xml:space="preserve">
|
||||
<value>Automatic</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreview.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>172, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreview.Text" xml:space="preserve">
|
||||
<value>Image preview</value>
|
||||
</data>
|
||||
<data name="cmsTaskInfo.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>173, 340</value>
|
||||
<data name="tsmiImagePreviewShow.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 22</value>
|
||||
</data>
|
||||
<data name=">>cmsTaskInfo.Name" xml:space="preserve">
|
||||
<value>cmsTaskInfo</value>
|
||||
<data name="tsmiImagePreviewShow.Text" xml:space="preserve">
|
||||
<value>Show</value>
|
||||
</data>
|
||||
<data name=">>cmsTaskInfo.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
<data name="tsmiImagePreviewHide.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewHide.Text" xml:space="preserve">
|
||||
<value>Hide</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewAutomatic.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>130, 22</value>
|
||||
</data>
|
||||
<data name="tsmiImagePreviewAutomatic.Text" xml:space="preserve">
|
||||
<value>Automatic</value>
|
||||
</data>
|
||||
<metadata name="niTray.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>105, 17</value>
|
||||
|
@ -1125,6 +1131,24 @@
|
|||
<metadata name="cmsTray.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
|
||||
<value>190, 17</value>
|
||||
</metadata>
|
||||
<data name="cmsTray.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>189, 418</value>
|
||||
</data>
|
||||
<data name=">>cmsTray.Name" xml:space="preserve">
|
||||
<value>cmsTray</value>
|
||||
</data>
|
||||
<data name=">>cmsTray.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="niTray.Text" xml:space="preserve">
|
||||
<value>ShareX</value>
|
||||
</data>
|
||||
<data name="tsmiTrayCapture.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayCapture.Text" xml:space="preserve">
|
||||
<value>Capture</value>
|
||||
</data>
|
||||
<data name="tsmiTrayFullscreen.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>217, 22</value>
|
||||
</data>
|
||||
|
@ -1227,11 +1251,11 @@
|
|||
<data name="tsmiTrayAutoCapture.Text" xml:space="preserve">
|
||||
<value>Auto capture...</value>
|
||||
</data>
|
||||
<data name="tsmiTrayCapture.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<data name="tsmiTrayUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayCapture.Text" xml:space="preserve">
|
||||
<value>Capture</value>
|
||||
<data name="tsmiTrayUpload.Text" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name="tsmiTrayUploadFile.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>203, 22</value>
|
||||
|
@ -1263,18 +1287,18 @@
|
|||
<data name="tsmiTrayUploadDragDrop.Text" xml:space="preserve">
|
||||
<value>Drag and drop upload...</value>
|
||||
</data>
|
||||
<data name="tsmiTrayUpload.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayUpload.Text" xml:space="preserve">
|
||||
<value>Upload</value>
|
||||
</data>
|
||||
<data name="tsmiTrayWorkflows.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayWorkflows.Text" xml:space="preserve">
|
||||
<value>Workflows</value>
|
||||
</data>
|
||||
<data name="tsmiTrayTools.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayTools.Text" xml:space="preserve">
|
||||
<value>Tools</value>
|
||||
</data>
|
||||
<data name="tsmiTrayColorPicker.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>183, 22</value>
|
||||
</data>
|
||||
|
@ -1347,12 +1371,6 @@
|
|||
<data name="tsmiTrayMonitorTest.Text" xml:space="preserve">
|
||||
<value>Monitor test...</value>
|
||||
</data>
|
||||
<data name="tsmiTrayTools.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayTools.Text" xml:space="preserve">
|
||||
<value>Tools</value>
|
||||
</data>
|
||||
<data name="tssTray1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>185, 6</value>
|
||||
</data>
|
||||
|
@ -1368,6 +1386,12 @@
|
|||
<data name="tsmiTrayAfterUploadTasks.Text" xml:space="preserve">
|
||||
<value>After upload</value>
|
||||
</data>
|
||||
<data name="tsmiTrayDestinations.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayDestinations.Text" xml:space="preserve">
|
||||
<value>Destinations</value>
|
||||
</data>
|
||||
<data name="tsmiTrayImageUploaders.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>187, 22</value>
|
||||
</data>
|
||||
|
@ -1407,12 +1431,6 @@
|
|||
<data name="tsmiTrayDestinationSettings.Text" xml:space="preserve">
|
||||
<value>Destination settings...</value>
|
||||
</data>
|
||||
<data name="tsmiTrayDestinations.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
<data name="tsmiTrayDestinations.Text" xml:space="preserve">
|
||||
<value>Destinations</value>
|
||||
</data>
|
||||
<data name="tsmiTrayApplicationSettings.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>188, 22</value>
|
||||
</data>
|
||||
|
@ -1488,18 +1506,6 @@
|
|||
<data name="tsmiTrayExit.Text" xml:space="preserve">
|
||||
<value>Exit</value>
|
||||
</data>
|
||||
<data name="cmsTray.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>189, 418</value>
|
||||
</data>
|
||||
<data name=">>cmsTray.Name" xml:space="preserve">
|
||||
<value>cmsTray</value>
|
||||
</data>
|
||||
<data name=">>cmsTray.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="niTray.Text" xml:space="preserve">
|
||||
<value>ShareX</value>
|
||||
<comment>@Invariant</comment></data>
|
||||
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -1520,7 +1526,7 @@
|
|||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>ShareX</value>
|
||||
<comment>@Invariant</comment></data>
|
||||
</data>
|
||||
<data name=">>chFilename.Name" xml:space="preserve">
|
||||
<value>chFilename</value>
|
||||
</data>
|
||||
|
@ -1791,6 +1797,12 @@
|
|||
<data name=">>tsmiMonitorTest.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tsmiAutomate.Name" xml:space="preserve">
|
||||
<value>tsmiAutomate</value>
|
||||
</data>
|
||||
<data name=">>tsmiAutomate.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tssMain1.Name" xml:space="preserve">
|
||||
<value>tssMain1</value>
|
||||
</data>
|
||||
|
@ -2635,6 +2647,6 @@
|
|||
<value>MainForm</value>
|
||||
</data>
|
||||
<data name=">>$this.Type" xml:space="preserve">
|
||||
<value>ShareX.HotkeyForm, ShareX, Version=9.6.1.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
<value>ShareX.HotkeyForm, ShareX, Version=9.7.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||
</data>
|
||||
</root>
|
10
ShareX/Properties/Resources.Designer.cs
generated
10
ShareX/Properties/Resources.Designer.cs
generated
|
@ -1229,6 +1229,16 @@ public static System.Drawing.Bitmap Rectangle {
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
public static System.Drawing.Bitmap robot {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("robot", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
|
|
|
@ -144,8 +144,8 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.</
|
|||
<data name="UploadTask_DoUploadJob_Uploading" xml:space="preserve">
|
||||
<value>Uploading</value>
|
||||
</data>
|
||||
<data name="ScreenColorPicker_UpdateControls_Stop_screen_color_picker" xml:space="preserve">
|
||||
<value>Stop screen color picker</value>
|
||||
<data name="layer_shape_curve" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer-shape-curve.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Triangle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Triangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -165,6 +165,9 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.</
|
|||
<data name="ScreenRecordForm_StartRecording_FFmpeg_error" xml:space="preserve">
|
||||
<value>FFmpeg error</value>
|
||||
</data>
|
||||
<data name="checkbox_check" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ScreenRecordForm_DownloaderForm_InstallRequested_FFmpeg_successfully_downloaded_" xml:space="preserve">
|
||||
<value>FFmpeg successfully downloaded.</value>
|
||||
</data>
|
||||
|
@ -207,9 +210,6 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.</
|
|||
<data name="TaskManager_task_UploadCompleted_ShareX___Task_completed" xml:space="preserve">
|
||||
<value>Task completed</value>
|
||||
</data>
|
||||
<data name="edit_scale" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\edit-scale.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="folder_open_image" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\folder-open-image.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -234,9 +234,6 @@ Press 'No' to cancel the current upload and disable screenshot auto uploading.</
|
|||
<data name="UploadTask_ThreadDoWork_URL_is_empty_" xml:space="preserve">
|
||||
<value>URL is empty.</value>
|
||||
</data>
|
||||
<data name="MainForm_tsmiTestTextUpload_Click_Text_upload_test" xml:space="preserve">
|
||||
<value>Text upload test</value>
|
||||
</data>
|
||||
<data name="ApplicationSettingsForm_btnBrowsePersonalFolderPath_Click_Choose_ShareX_personal_folder_path" xml:space="preserve">
|
||||
<value>Choose ShareX personal folder path</value>
|
||||
</data>
|
||||
|
@ -250,9 +247,6 @@ Please select a different hotkey or quit the conflicting application and reopen
|
|||
<data name="MainForm_tsmiDeleteSelectedFile_Click_File_delete_confirmation" xml:space="preserve">
|
||||
<value>File delete confirmation</value>
|
||||
</data>
|
||||
<data name="layer_shape_curve" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer-shape-curve.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AutoCaptureForm_Execute_Stop" xml:space="preserve">
|
||||
<value>Stop</value>
|
||||
</data>
|
||||
|
@ -268,17 +262,14 @@ Please select a different hotkey or quit the conflicting application and reopen
|
|||
<data name="UploadManager_IsUploadConfirmed_Don_t_show_this_message_again_" xml:space="preserve">
|
||||
<value>Don't show this message again.</value>
|
||||
</data>
|
||||
<data name="cn" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\cn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ScreenRecordForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_" xml:space="preserve">
|
||||
<value>Download of FFmpeg failed.</value>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_Task___0_" xml:space="preserve">
|
||||
<value>Task: {0}</value>
|
||||
</data>
|
||||
<data name="ScreenRecordForm_StartRecording_FFmpeg_video_and_audio_source_both_can_t_be__None__" xml:space="preserve">
|
||||
<value>FFmpeg video and audio source both can't be "None".</value>
|
||||
</data>
|
||||
<data name="toolbox" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="edit_scale" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\edit-scale.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="steam" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\steam.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -289,8 +280,8 @@ Please select a different hotkey or quit the conflicting application and reopen
|
|||
<data name="application_blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\application-blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="application_task" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="ActionsForm_btnOK_Click_File_path_can_t_be_empty_" xml:space="preserve">
|
||||
<value>File path can't be empty.</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_UpdateWindowTitle_Task_settings" xml:space="preserve">
|
||||
<value>Task settings</value>
|
||||
|
@ -337,17 +328,20 @@ Would you like to automatically download it?</value>
|
|||
<data name="layer_pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="TaskHelpers_OpenQuickScreenColorPicker_Copied_to_clipboard___0_" xml:space="preserve">
|
||||
<value>Copied to clipboard: {0}</value>
|
||||
<data name="document_copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="camera" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MainForm_UpdateMenu_Hide_menu" xml:space="preserve">
|
||||
<value>Hide menu</value>
|
||||
</data>
|
||||
<data name="barcode_2d" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="monitor" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layout_select_content" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layout-select-content.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="navigation_000_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ScreenColorPicker_btnCopyAll_Click_Cursor_position" xml:space="preserve">
|
||||
<value>Cursor position (X, Y) = {0}, {1}</value>
|
||||
|
@ -370,9 +364,6 @@ Would you like to automatically download it?</value>
|
|||
<data name="ActionsForm_btnPathBrowse_Click_Choose_file_path" xml:space="preserve">
|
||||
<value>Choose file path</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_Task___0_" xml:space="preserve">
|
||||
<value>Task: {0}</value>
|
||||
</data>
|
||||
<data name="HotkeyManager_ShowFailedHotkeys_Hotkey_registration_failed" xml:space="preserve">
|
||||
<value>Hotkey registration failed</value>
|
||||
</data>
|
||||
|
@ -394,9 +385,6 @@ Would you like to automatically download it?</value>
|
|||
<data name="folder_tree" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\folder-tree.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="TaskManager_task_UploadCompleted_Error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
|
@ -425,6 +413,9 @@ here</value>
|
|||
<data name="GitHub" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\GitHub.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="clipboard-list" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\clipboard-list.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="traffic_cone" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\traffic-cone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -434,8 +425,8 @@ here</value>
|
|||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_File_uploader___0_" xml:space="preserve">
|
||||
<value>File uploader: {0}</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_URL_shortener___0_" xml:space="preserve">
|
||||
<value>URL shortener: {0}</value>
|
||||
<data name="AboutForm_AboutForm_Project_page" xml:space="preserve">
|
||||
<value>Project page</value>
|
||||
</data>
|
||||
<data name="TaskHelpers_TweetMessage_Tweet_successfully_sent_" xml:space="preserve">
|
||||
<value>Tweet successfully sent.</value>
|
||||
|
@ -450,6 +441,9 @@ Please run ShareX as administrator to change personal folder path.</value>
|
|||
<data name="gear" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="image_saturation" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\image-saturation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -460,12 +454,15 @@ Please run ShareX as administrator to change personal folder path.</value>
|
|||
<value>Click to stop recording.</value>
|
||||
<comment>Text must be equal or lower than 54 characters because of tray icon text length limit.</comment>
|
||||
</data>
|
||||
<data name="navigation_000_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\navigation-000-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="MainForm_UpdateWorkflowsMenu_You_can_add_workflows_from_hotkey_settings___" xml:space="preserve">
|
||||
<value>You can add workflows from hotkey settings...</value>
|
||||
</data>
|
||||
<data name="navigation_090_button" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\navigation-090-button.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layers_arrange" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="WatchFolderForm_btnPathBrowse_Click_Choose_folder_path" xml:space="preserve">
|
||||
<value>Choose folder path</value>
|
||||
</data>
|
||||
|
@ -479,17 +476,23 @@ Would you like to restart ShareX?</value>
|
|||
<data name="layer_shape" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer-shape.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="eraser" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="image_pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\image--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="image_saturation" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\image-saturation.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="TaskHelpers_OpenQuickScreenColorPicker_Copied_to_clipboard___0_" xml:space="preserve">
|
||||
<value>Copied to clipboard: {0}</value>
|
||||
</data>
|
||||
<data name="Program_Run_Error" xml:space="preserve">
|
||||
<value>Error</value>
|
||||
</data>
|
||||
<data name="ScreenColorPicker_UpdateControls_Start_screen_color_picker" xml:space="preserve">
|
||||
<value>Start screen color picker</value>
|
||||
<data name="cn" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\cn.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="categories" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FileExistForm_txtNewName_TextChanged_Use_new_name__" xml:space="preserve">
|
||||
<value>Use new name: </value>
|
||||
|
@ -497,8 +500,8 @@ Would you like to restart ShareX?</value>
|
|||
<data name="globe" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\globe.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="BeforeUploadForm_BeforeUploadForm__0__is_about_to_be_uploaded_to__1___You_may_choose_a_different_destination_" xml:space="preserve">
|
||||
<value>{0} is about to be uploaded to {1}. You may choose a different destination.</value>
|
||||
<data name="ScreenColorPicker_UpdateControls_Stop_screen_color_picker" xml:space="preserve">
|
||||
<value>Stop screen color picker</value>
|
||||
</data>
|
||||
<data name="upload_cloud" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\upload-cloud.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -545,11 +548,8 @@ Would you like to restart ShareX?</value>
|
|||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_After_capture___0_" xml:space="preserve">
|
||||
<value>After capture: {0}</value>
|
||||
</data>
|
||||
<data name="camera" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\camera.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="AboutForm_AboutForm_Project_page" xml:space="preserve">
|
||||
<value>Project page</value>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_URL_shortener___0_" xml:space="preserve">
|
||||
<value>URL shortener: {0}</value>
|
||||
</data>
|
||||
<data name="clipboard" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\clipboard.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -569,8 +569,8 @@ Would you like to restart ShareX?</value>
|
|||
<data name="arrow_090" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\arrow-090.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="notebook" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\notebook.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="layout_select_content" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layout-select-content.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="de" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\de.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
|
@ -591,9 +591,6 @@ Would you like to restart ShareX?</value>
|
|||
<value>Download failed:
|
||||
{0}</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_After_upload___0_" xml:space="preserve">
|
||||
<value>After upload: {0}</value>
|
||||
</data>
|
||||
<data name="layer_shape_ellipse" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer-shape-ellipse.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -609,8 +606,8 @@ Would you like to restart ShareX?</value>
|
|||
<data name="layer_shape_polygon" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layer-shape-polygon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="checkbox_check" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\checkbox_check.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="toolbox" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\toolbox.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="UploadTask_OnUploadCompleted_Stopped" xml:space="preserve">
|
||||
<value>Stopped</value>
|
||||
|
@ -633,27 +630,27 @@ Would you like to restart ShareX?</value>
|
|||
<data name="wrench_screwdriver" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\wrench-screwdriver.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="application_browser" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ErrorSound" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ErrorSound.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_txtNameFormatPatternActiveWindow_TextChanged_Preview_" xml:space="preserve">
|
||||
<value>Preview:</value>
|
||||
</data>
|
||||
<data name="document_copy" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\document-copy.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="MainForm_tsmiTestTextUpload_Click_Text_upload_test" xml:space="preserve">
|
||||
<value>Text upload test</value>
|
||||
</data>
|
||||
<data name="application_browser" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\application-browser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="application_task" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="application_icon_large" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\application-icon-large.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="notebook" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\notebook.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Twitter" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Twitter.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="MainForm_UpdateWorkflowsMenu_You_can_add_workflows_from_hotkey_settings___" xml:space="preserve">
|
||||
<value>You can add workflows from hotkey settings...</value>
|
||||
</data>
|
||||
<data name="TaskSettingsForm_UpdateWindowTitle_Task_settings_for__0_" xml:space="preserve">
|
||||
<value>Task settings for {0}</value>
|
||||
</data>
|
||||
|
@ -666,32 +663,38 @@ Would you like to restart ShareX?</value>
|
|||
<data name="UploadTask_OnUploadCompleted_Done" xml:space="preserve">
|
||||
<value>Done</value>
|
||||
</data>
|
||||
<data name="ActionsForm_btnOK_Click_File_path_can_t_be_empty_" xml:space="preserve">
|
||||
<value>File path can't be empty.</value>
|
||||
<data name="application_icon_large" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\application-icon-large.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="RoundedRectangle" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\RoundedRectangle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="monitor" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\monitor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="BeforeUploadForm_BeforeUploadForm__0__is_about_to_be_uploaded_to__1___You_may_choose_a_different_destination_" xml:space="preserve">
|
||||
<value>{0} is about to be uploaded to {1}. You may choose a different destination.</value>
|
||||
</data>
|
||||
<data name="AboutForm_AboutForm_Website" xml:space="preserve">
|
||||
<value>Website</value>
|
||||
</data>
|
||||
<data name="categories" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\categories.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="pencil" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\pencil.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="layers_arrange" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\layers-arrange.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="TaskSettingsForm_UpdateUploaderMenuNames_After_upload___0_" xml:space="preserve">
|
||||
<value>After upload: {0}</value>
|
||||
</data>
|
||||
<data name="eraser" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\eraser.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="barcode_2d" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\barcode-2d.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ScreenRecordForm_StartRecording_Click_tray_icon_to_start_recording_" xml:space="preserve">
|
||||
<value>Click to start recording.</value>
|
||||
<comment>Text must be equal or lower than 54 characters because of tray icon text length limit.</comment>
|
||||
</data>
|
||||
<data name="clipboard-list" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\clipboard-list.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="ScreenRecordForm_DownloaderForm_InstallRequested_Download_of_FFmpeg_failed_" xml:space="preserve">
|
||||
<value>Download of FFmpeg failed.</value>
|
||||
</data>
|
||||
<data name="ScreenColorPicker_UpdateControls_Start_screen_color_picker" xml:space="preserve">
|
||||
<value>Start screen color picker</value>
|
||||
</data>
|
||||
<data name="robot" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\robot.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
BIN
ShareX/Resources/robot.png
Normal file
BIN
ShareX/Resources/robot.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 820 B |
|
@ -750,6 +750,7 @@
|
|||
<None Include="Resources\globe.png" />
|
||||
<None Include="Resources\us.png" />
|
||||
<None Include="Resources\clipboard-list.png" />
|
||||
<None Include="Resources\robot.png" />
|
||||
<Content Include="ShareX_Icon.ico" />
|
||||
<None Include="Resources\globe--pencil.png" />
|
||||
<None Include="Resources\camcorder--pencil.png" />
|
||||
|
|
|
@ -546,6 +546,11 @@ public static void OpenRuler()
|
|||
}
|
||||
}
|
||||
|
||||
public static void OpenAutomate()
|
||||
{
|
||||
new AutomateForm().Show();
|
||||
}
|
||||
|
||||
public static void OpenHashCheck()
|
||||
{
|
||||
new HashCheckForm().Show();
|
||||
|
|
Loading…
Reference in a new issue