diff --git a/Plugins/API/DllExporter/Program.cs b/Plugins/API/DllExporter/Program.cs index 3920866a..9b2eef52 100644 --- a/Plugins/API/DllExporter/Program.cs +++ b/Plugins/API/DllExporter/Program.cs @@ -48,8 +48,12 @@ namespace DllExporter ildasmPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin\ildasm.exe"); if (!System.IO.File.Exists(ildasmPath)) { - Console.WriteLine("DllExporter error: ildasm.exe not found"); - return 1; + ildasmPath = Environment.ExpandEnvironmentVariables(@"%ProgramFiles(x86)%\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\ildasm.exe"); + if (!System.IO.File.Exists(ildasmPath)) + { + Console.WriteLine("DllExporter error: ildasm.exe not found"); + return 1; + } } } diff --git a/Plugins/PluginInputText/Main.cs b/Plugins/PluginInputText/Main.cs index 40e6a2a9..a3365eba 100644 --- a/Plugins/PluginInputText/Main.cs +++ b/Plugins/PluginInputText/Main.cs @@ -114,6 +114,7 @@ namespace InputText internal List> OverrideOptions; internal List Commands; internal string Command; + internal string DismissAction; internal BangType Type; internal ExecuteBangParam(string args) @@ -122,6 +123,7 @@ namespace InputText this.OverrideOptions = new List>(); this.Commands = new List(); this.Command = args.Trim(); + this.DismissAction = null; this.Type = BangType.Unknown; } }; diff --git a/Plugins/PluginInputText/PluginCode.cs b/Plugins/PluginInputText/PluginCode.cs index ef4ce6ba..f4ce586a 100644 --- a/Plugins/PluginInputText/PluginCode.cs +++ b/Plugins/PluginInputText/PluginCode.cs @@ -43,6 +43,8 @@ namespace InputText ReadOption("Password", param.Options); ReadOption("TopMost", param.Options); + param.DismissAction = rm.ReadString("OnDismissAction", "", false); + #region Handle a single parameter // If our parameter list only contains a single word, then open a textbox immediately @@ -184,7 +186,12 @@ namespace InputText // If the user cancelled out of the inputbox (ESC key, etc.), then abort if (sInput == null) + { + // Execute OnDismissAction if defined + if (!String.IsNullOrEmpty(param.DismissAction)) + API.Execute(rm.GetSkin(), param.DismissAction); break; + } // Ask Rainmeter to set the variable using a bang (http://rainmeter.net/RainCMS/?q=Bangs) API.Execute(rm.GetSkin(), "!SetVariable " + param.Command + " \"" + sInput + "\""); @@ -201,7 +208,12 @@ namespace InputText // Execute the line, but if there's a problem (error or they cancel the // input textbox), then abort if (!ExecuteLine(param.Commands[i], param.Options, param.OverrideOptions[i])) + { + // Execute OnDismissAction if defined + if (!String.IsNullOrEmpty(param.DismissAction)) + API.Execute(rm.GetSkin(), param.DismissAction); break; + } // Continue to the next line, if there is any } diff --git a/Plugins/PluginInputText/PluginInputText.csproj b/Plugins/PluginInputText/PluginInputText.csproj index a7efe612..903d8a51 100644 --- a/Plugins/PluginInputText/PluginInputText.csproj +++ b/Plugins/PluginInputText/PluginInputText.csproj @@ -110,6 +110,6 @@ --> - "$(SolutionDir)Plugins\API\DllExporter.exe" "$(ConfigurationName)" "$(PlatformName)" "$(TargetDir)\" "$(TargetFileName)" "$(TargetedFrameworkDir)\ilasm.exe" "$(FrameworkSDKDir)bin\ildasm.exe" + "$(SolutionDir)Plugins\API\DllExporter.exe" "$(ConfigurationName)" "$(PlatformName)" "$(TargetDir)\" "$(TargetFileName)" \ No newline at end of file