From f71f9ecdc489341da6664ec562ec4a567916a302 Mon Sep 17 00:00:00 2001 From: Manuel Kamper Date: Sun, 3 May 2020 18:28:25 +0200 Subject: [PATCH] Initial commit --- Mk0.Software.NoSaver.sln | 25 +++++ NoSaver/App.config | 6 ++ NoSaver/Main.Designer.cs | 71 ++++++++++++++ NoSaver/Main.cs | 58 +++++++++++ NoSaver/Main.resx | 120 +++++++++++++++++++++++ NoSaver/NoSaver.csproj | 117 ++++++++++++++++++++++ NoSaver/Program.cs | 22 +++++ NoSaver/Properties/AssemblyInfo.cs | 36 +++++++ NoSaver/Properties/Resources.Designer.cs | 63 ++++++++++++ NoSaver/Properties/Resources.resx | 117 ++++++++++++++++++++++ NoSaver/Properties/Settings.Designer.cs | 26 +++++ NoSaver/Properties/Settings.settings | 7 ++ NoSaver/screensaver.ico | Bin 0 -> 167515 bytes 13 files changed, 668 insertions(+) create mode 100644 Mk0.Software.NoSaver.sln create mode 100644 NoSaver/App.config create mode 100644 NoSaver/Main.Designer.cs create mode 100644 NoSaver/Main.cs create mode 100644 NoSaver/Main.resx create mode 100644 NoSaver/NoSaver.csproj create mode 100644 NoSaver/Program.cs create mode 100644 NoSaver/Properties/AssemblyInfo.cs create mode 100644 NoSaver/Properties/Resources.Designer.cs create mode 100644 NoSaver/Properties/Resources.resx create mode 100644 NoSaver/Properties/Settings.Designer.cs create mode 100644 NoSaver/Properties/Settings.settings create mode 100644 NoSaver/screensaver.ico diff --git a/Mk0.Software.NoSaver.sln b/Mk0.Software.NoSaver.sln new file mode 100644 index 0000000..20e1057 --- /dev/null +++ b/Mk0.Software.NoSaver.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27428.2037 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NoSaver", "NoSaver\NoSaver.csproj", "{3BCAAC5B-B052-469A-AA82-AD9CDA965EA5}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3BCAAC5B-B052-469A-AA82-AD9CDA965EA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3BCAAC5B-B052-469A-AA82-AD9CDA965EA5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3BCAAC5B-B052-469A-AA82-AD9CDA965EA5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3BCAAC5B-B052-469A-AA82-AD9CDA965EA5}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {8350D65A-A5A4-454E-8CD7-DC83AD34A22F} + EndGlobalSection +EndGlobal diff --git a/NoSaver/App.config b/NoSaver/App.config new file mode 100644 index 0000000..ecdcf8a --- /dev/null +++ b/NoSaver/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/NoSaver/Main.Designer.cs b/NoSaver/Main.Designer.cs new file mode 100644 index 0000000..9eb840c --- /dev/null +++ b/NoSaver/Main.Designer.cs @@ -0,0 +1,71 @@ +namespace NoSaver +{ + partial class Main + { + /// + /// Erforderliche Designervariable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Verwendete Ressourcen bereinigen. + /// + /// True, wenn verwaltete Ressourcen gelöscht werden sollen; andernfalls False. + protected override void Dispose(bool disposing) + { + if(disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Vom Windows Form-Designer generierter Code + + /// + /// Erforderliche Methode für die Designerunterstützung. + /// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden. + /// + private void InitializeComponent() + { + this.label1 = new System.Windows.Forms.Label(); + this.SuspendLayout(); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(12, 9); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(116, 26); + this.label1.TabIndex = 0; + this.label1.Text = "Prevents screen saver.\r\nClose to allow again."; + // + // Main + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(192, 55); + this.Controls.Add(this.label1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.MinimizeBox = false; + this.Name = "Main"; + this.ShowIcon = false; + this.ShowInTaskbar = false; + this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "NoSaver"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Form1_FormClosing); + this.Load += new System.EventHandler(this.Main_Load); + this.Shown += new System.EventHandler(this.Form1_Shown); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Label label1; + } +} + diff --git a/NoSaver/Main.cs b/NoSaver/Main.cs new file mode 100644 index 0000000..5396fba --- /dev/null +++ b/NoSaver/Main.cs @@ -0,0 +1,58 @@ +using System; +using System.Windows.Forms; +using System.Runtime.InteropServices; +using Mk0.Software.OnlineUpdater; + +namespace NoSaver +{ + public partial class Main : Form + { + [FlagsAttribute()] + public enum EXECUTION_STATE : uint + { + ES_AWAYMODE_REQUIRED = 0x40, + ES_CONTINUOUS = 0x80000000u, + ES_DISPLAY_REQUIRED = 0x2, + ES_SYSTEM_REQUIRED = 0x1 + } + + [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] + private static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags); + + [DllImport("user32", EntryPoint = "SystemParametersInfo", CharSet = CharSet.Auto, SetLastError = true)] + private static extern int SystemParametersInfo(int uAction, int uParam, string lpvParam, int fuWinIni); + + private const Int32 SPI_SETSCREENSAVETIMEOUT = 15; + + public Main() + { + InitializeComponent(); + } + + public void KeepMonitorActive() + { + SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS); + } + + public void RestoreMonitorSettings() + { + SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS); + } + + private void Form1_Shown(object sender, EventArgs e) + { + KeepMonitorActive(); + } + + private void Form1_FormClosing(object sender, FormClosingEventArgs e) + { + RestoreMonitorSettings(); + } + + private void Main_Load(object sender, EventArgs e) + { + AutoUpdater.ShowSkipButton = false; + AutoUpdater.Start("https://www.kmpr.at/update/nosaver.xml"); + } + } +} diff --git a/NoSaver/Main.resx b/NoSaver/Main.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/NoSaver/Main.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NoSaver/NoSaver.csproj b/NoSaver/NoSaver.csproj new file mode 100644 index 0000000..d421619 --- /dev/null +++ b/NoSaver/NoSaver.csproj @@ -0,0 +1,117 @@ + + + + + Debug + AnyCPU + {3BCAAC5B-B052-469A-AA82-AD9CDA965EA5} + WinExe + Mk0.Software.NoSaver + NoSaver + v4.7.2 + 512 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + NoSaver.Program + + + screensaver.ico + + + + ..\..\..\source\repos\manuelkamp\Mk0.Software.OnlineUpdater\Mk0.Software.OnlineUpdater\bin\Debug\Mk0.Software.OnlineUpdater.dll + + + + + + + + + + + + + + + + Form + + + Main.cs + + + + + Main.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + False + .NET Framework 3.5 SP1 + false + + + + \ No newline at end of file diff --git a/NoSaver/Program.cs b/NoSaver/Program.cs new file mode 100644 index 0000000..5ed5417 --- /dev/null +++ b/NoSaver/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace NoSaver +{ + static class Program + { + /// + /// Der Haupteinstiegspunkt für die Anwendung. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new Main()); + } + } +} diff --git a/NoSaver/Properties/AssemblyInfo.cs b/NoSaver/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..8254576 --- /dev/null +++ b/NoSaver/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Allgemeine Informationen über eine Assembly werden über die folgenden +// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, +// die einer Assembly zugeordnet sind. +[assembly: AssemblyTitle("NoSaver")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("kmpr.at")] +[assembly: AssemblyProduct("NoSaver")] +[assembly: AssemblyCopyright("Copyright © 2020 by kmpr.at")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly +// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von +// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen. +[assembly: ComVisible(false)] + +// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird +[assembly: Guid("3bcaac5b-b052-469a-aa82-ad9cda965ea5")] + +// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: +// +// Hauptversion +// Nebenversion +// Buildnummer +// Revision +// +// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, +// übernehmen, indem Sie "*" eingeben: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/NoSaver/Properties/Resources.Designer.cs b/NoSaver/Properties/Resources.Designer.cs new file mode 100644 index 0000000..19b5b10 --- /dev/null +++ b/NoSaver/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Mk0.Software.NoSaver.Properties { + using System; + + + /// + /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// + // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert + // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. + // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen + // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Mk0.Software.NoSaver.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle + /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/NoSaver/Properties/Resources.resx b/NoSaver/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/NoSaver/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NoSaver/Properties/Settings.Designer.cs b/NoSaver/Properties/Settings.Designer.cs new file mode 100644 index 0000000..5e534ed --- /dev/null +++ b/NoSaver/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// Dieser Code wurde von einem Tool generiert. +// Laufzeitversion:4.0.30319.42000 +// +// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn +// der Code erneut generiert wird. +// +//------------------------------------------------------------------------------ + +namespace Mk0.Software.NoSaver.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.9.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/NoSaver/Properties/Settings.settings b/NoSaver/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/NoSaver/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/NoSaver/screensaver.ico b/NoSaver/screensaver.ico new file mode 100644 index 0000000000000000000000000000000000000000..e0bf49c42ad243bd96f407a7ca38d514f4d353bc GIT binary patch literal 167515 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 literal 0 HcmV?d00001