Added HiddenWindow

Added HiddenWindow option for ExternalProgram
This commit is contained in:
Atilla Lonny 2015-09-30 02:36:58 -04:00
parent e5875bfe93
commit 5427870647
5 changed files with 131 additions and 44 deletions

View file

@ -32,6 +32,7 @@ namespace ShareX.HelpersLib
public class ExternalProgram
{
public bool IsActive { get; set; }
public bool HiddenWindow { get; set; }
public string Name { get; set; }
public string Path { get; set; }
public string Args { get; set; }
@ -60,7 +61,7 @@ public ExternalProgram(string name, string path, string args)
}
}
public string Run(string filePath)
public string Run(string filePath, bool hiddenWindow)
{
if (!string.IsNullOrEmpty(filePath) && CheckExtensions(filePath) && !string.IsNullOrEmpty(Path) && File.Exists(Path))
{
@ -98,6 +99,12 @@ public string Run(string filePath)
psi.Arguments = args;
}
if (hiddenWindow)
{
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.CreateNoWindow = true;
}
process.StartInfo = psi;
DebugHelper.WriteLine(string.Format("Running {0} with arguments: {1}", Path, psi.Arguments));

View file

@ -42,6 +42,7 @@ private void InitializeComponent()
this.txtExtensions = new System.Windows.Forms.TextBox();
this.txtOutputExtension = new System.Windows.Forms.TextBox();
this.lblOutputExtension = new System.Windows.Forms.Label();
this.cbHiddenWindow = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// lblName
@ -115,11 +116,18 @@ private void InitializeComponent()
resources.ApplyResources(this.lblOutputExtension, "lblOutputExtension");
this.lblOutputExtension.Name = "lblOutputExtension";
//
// cbHiddenWindow
//
resources.ApplyResources(this.cbHiddenWindow, "cbHiddenWindow");
this.cbHiddenWindow.Name = "cbHiddenWindow";
this.cbHiddenWindow.UseVisualStyleBackColor = true;
//
// ActionsForm
//
this.AcceptButton = this.btnOK;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.cbHiddenWindow);
this.Controls.Add(this.lblOutputExtension);
this.Controls.Add(this.txtOutputExtension);
this.Controls.Add(this.txtExtensions);
@ -155,5 +163,6 @@ private void InitializeComponent()
private System.Windows.Forms.TextBox txtExtensions;
private System.Windows.Forms.TextBox txtOutputExtension;
private System.Windows.Forms.Label lblOutputExtension;
private System.Windows.Forms.CheckBox cbHiddenWindow;
}
}

View file

@ -49,6 +49,7 @@ public ActionsForm(ExternalProgram fileAction)
CodeMenu.Create<ActionsCodeMenuEntry>(txtArguments);
txtOutputExtension.Text = fileAction.OutputExtension ?? "";
txtExtensions.Text = fileAction.Extensions ?? "";
cbHiddenWindow.Checked = fileAction.HiddenWindow;
}
private void btnPathBrowse_Click(object sender, EventArgs e)
@ -75,6 +76,7 @@ private void btnOK_Click(object sender, EventArgs e)
FileAction.Args = txtArguments.Text;
FileAction.Extensions = txtExtensions.Text;
FileAction.OutputExtension = txtOutputExtension.Text;
FileAction.HiddenWindow = cbHiddenWindow.Checked;
DialogResult = DialogResult.OK;
}

View file

@ -123,10 +123,14 @@
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblName.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 8</value>
<value>7, 10</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblName.Size" type="System.Drawing.Size, System.Drawing">
<value>38, 13</value>
<value>49, 17</value>
</data>
<data name="lblName.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -144,16 +148,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;lblName.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="lblPath.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblPath.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 56</value>
<value>7, 69</value>
</data>
<data name="lblPath.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblPath.Size" type="System.Drawing.Size, System.Drawing">
<value>50, 13</value>
<value>66, 17</value>
</data>
<data name="lblPath.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
@ -171,16 +178,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;lblPath.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="lblArgs.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblArgs.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 104</value>
<value>7, 128</value>
</data>
<data name="lblArgs.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblArgs.Size" type="System.Drawing.Size, System.Drawing">
<value>60, 13</value>
<value>80, 17</value>
</data>
<data name="lblArgs.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
@ -198,17 +208,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;lblArgs.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="txtName.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtName.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 24</value>
<value>11, 30</value>
</data>
<data name="txtName.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtName.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 20</value>
<value>393, 22</value>
</data>
<data name="txtName.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
@ -223,16 +235,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtName.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="txtPath.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtPath.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 72</value>
<value>11, 89</value>
</data>
<data name="txtPath.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtPath.Size" type="System.Drawing.Size, System.Drawing">
<value>248, 20</value>
<value>329, 22</value>
</data>
<data name="txtPath.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
@ -247,16 +262,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtPath.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="txtArguments.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtArguments.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 120</value>
<value>11, 148</value>
</data>
<data name="txtArguments.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtArguments.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 20</value>
<value>393, 22</value>
</data>
<data name="txtArguments.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@ -271,23 +289,26 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtArguments.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="btnPathBrowse.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnPathBrowse.Location" type="System.Drawing.Point, System.Drawing">
<value>264, 70</value>
<value>352, 86</value>
</data>
<data name="btnPathBrowse.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="btnPathBrowse.Size" type="System.Drawing.Size, System.Drawing">
<value>40, 24</value>
<value>53, 30</value>
</data>
<data name="btnPathBrowse.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="btnPathBrowse.Text" xml:space="preserve">
<value>...</value>
<comment>@Invariant</comment></data>
</data>
<data name="&gt;&gt;btnPathBrowse.Name" xml:space="preserve">
<value>btnPathBrowse</value>
</data>
@ -298,16 +319,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;btnPathBrowse.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="btnOK.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnOK.Location" type="System.Drawing.Point, System.Drawing">
<value>152, 248</value>
<value>207, 351</value>
</data>
<data name="btnOK.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="btnOK.Size" type="System.Drawing.Size, System.Drawing">
<value>72, 24</value>
<value>96, 30</value>
</data>
<data name="btnOK.TabIndex" type="System.Int32, mscorlib">
<value>11</value>
@ -325,16 +349,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;btnOK.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="btnCancel.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Right</value>
</data>
<data name="btnCancel.Location" type="System.Drawing.Point, System.Drawing">
<value>232, 248</value>
<value>311, 351</value>
</data>
<data name="btnCancel.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="btnCancel.Size" type="System.Drawing.Size, System.Drawing">
<value>72, 24</value>
<value>96, 30</value>
</data>
<data name="btnCancel.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@ -352,16 +379,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;btnCancel.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="lblExtensions.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblExtensions.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 200</value>
<value>7, 246</value>
</data>
<data name="lblExtensions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblExtensions.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 13</value>
<value>257, 17</value>
</data>
<data name="lblExtensions.TabIndex" type="System.Int32, mscorlib">
<value>9</value>
@ -379,16 +409,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;lblExtensions.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="txtExtensions.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtExtensions.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 216</value>
<value>11, 266</value>
</data>
<data name="txtExtensions.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtExtensions.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 20</value>
<value>393, 22</value>
</data>
<data name="txtExtensions.TabIndex" type="System.Int32, mscorlib">
<value>10</value>
@ -403,16 +436,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtExtensions.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="txtOutputExtension.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="txtOutputExtension.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 168</value>
<value>11, 207</value>
</data>
<data name="txtOutputExtension.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="txtOutputExtension.Size" type="System.Drawing.Size, System.Drawing">
<value>296, 20</value>
<value>393, 22</value>
</data>
<data name="txtOutputExtension.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
@ -427,16 +463,19 @@
<value>$this</value>
</data>
<data name="&gt;&gt;txtOutputExtension.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="lblOutputExtension.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblOutputExtension.Location" type="System.Drawing.Point, System.Drawing">
<value>5, 152</value>
<value>7, 187</value>
</data>
<data name="lblOutputExtension.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 0, 4, 0</value>
</data>
<data name="lblOutputExtension.Size" type="System.Drawing.Size, System.Drawing">
<value>277, 13</value>
<value>373, 17</value>
</data>
<data name="lblOutputExtension.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
@ -454,16 +493,46 @@
<value>$this</value>
</data>
<data name="&gt;&gt;lblOutputExtension.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="cbHiddenWindow.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="cbHiddenWindow.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 295</value>
</data>
<data name="cbHiddenWindow.Size" type="System.Drawing.Size, System.Drawing">
<value>128, 21</value>
</data>
<data name="cbHiddenWindow.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="cbHiddenWindow.Text" xml:space="preserve">
<value>Hidden Window</value>
</data>
<data name="&gt;&gt;cbHiddenWindow.Name" xml:space="preserve">
<value>cbHiddenWindow</value>
</data>
<data name="&gt;&gt;cbHiddenWindow.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cbHiddenWindow.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cbHiddenWindow.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
<value>8, 16</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>313, 281</value>
<value>417, 394</value>
</data>
<data name="$this.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>4, 4, 4, 4</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterScreen</value>

View file

@ -613,7 +613,7 @@ private void DoFileJobs()
foreach (ExternalProgram fileAction in actions)
{
Info.FilePath = fileAction.Run(Info.FilePath);
Info.FilePath = fileAction.Run(Info.FilePath, fileAction.HiddenWindow);
}
LoadFileStream();