├── Languages
├── Language.de.Designer.cs
├── Language.Designer.cs
├── Language.resx
└── Language.de.resx
├── .gitignore
├── TBRN.ico
├── Resources
├── KNET.png
└── AboutTray.png
├── Forms
├── FormAboutTray.cs
├── FormVersion.cs
├── FormTextInput.cs
├── FormSettings.cs
├── FormAboutTray.Designer.cs
├── FormTextInput.Designer.cs
├── FormVersion.designer.cs
├── FormAutomatic.cs
├── FormTextInput.de.resx
├── FormAboutTray.de.resx
├── FormSettings.de.resx
├── FormSettings.Designer.cs
├── FormAutomatic.de.resx
├── FormAutomatic.Designer.cs
├── FormAboutTray.resx
├── FormVersion.de.resx
├── FormTextInput.resx
└── FormVersion.resx
├── Controls
└── NumericUpDown.cs
├── README.md
├── Properties
├── AssemblyInfo.cs
├── Settings.settings
├── Resources.Designer.cs
├── Settings.Designer.cs
└── Resources.resx
├── LICENSE
├── app.config
├── Objects.cs
├── Program.cs
├── TaskBarRenamer.csproj
└── EnumWindows.cs
/Languages/Language.de.Designer.cs:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.sln
2 | *.user
3 | .vs/
4 | bin/
5 | obj/
6 |
--------------------------------------------------------------------------------
/TBRN.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kwaschny/TaskBarRenamer/HEAD/TBRN.ico
--------------------------------------------------------------------------------
/Resources/KNET.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kwaschny/TaskBarRenamer/HEAD/Resources/KNET.png
--------------------------------------------------------------------------------
/Resources/AboutTray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/kwaschny/TaskBarRenamer/HEAD/Resources/AboutTray.png
--------------------------------------------------------------------------------
/Forms/FormAboutTray.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Forms;
2 |
3 | namespace TaskBarRenamer
4 | {
5 | public partial class FormAboutTray : Form
6 | {
7 | #region Fields
8 |
9 | public bool DoNotShowAgain
10 | {
11 | get
12 | {
13 | return checkBoxDoNotShowAgain.Checked;
14 | }
15 | }
16 |
17 | #endregion
18 |
19 | #region Methods
20 |
21 | public FormAboutTray()
22 | {
23 | InitializeComponent();
24 | }
25 |
26 | #endregion
27 | }
28 | }
--------------------------------------------------------------------------------
/Controls/NumericUpDown.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Forms;
2 |
3 | namespace TaskBarRenamer
4 | {
5 | public class NumericUpDownFixed : NumericUpDown
6 | {
7 | public bool SetValue(int value)
8 | {
9 | if (value < this.Minimum)
10 | {
11 | this.Value = this.Minimum;
12 | return false;
13 | }
14 | if (value > this.Maximum)
15 | {
16 | this.Value = this.Maximum;
17 | return false;
18 | }
19 |
20 | this.Value = value;
21 | return true;
22 | }
23 | }
24 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TaskBarRenamer
2 | Taskbar Renamer (TBRN) allows you to rename the window title of any running application. This is useful when running multiple instances of an application where the application does not have unique window titles (caption) on the Windows taskbar. With the help of TaskBarRenamer you can easily rename each application's window title individually to distinguish between all running instances. This does not affect the application itself but the appearance only and thus is safe to use. TBRN is also able to detect applications automatically and rename them as soon as they are running. TaskBarRenamer is a handy tool you should work with if you need to run many programs simultaneously.
3 |
4 | ```
5 | I made this back in 2009/2010 for personal use and decided to share it.
6 | ```
7 |
--------------------------------------------------------------------------------
/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Resources;
3 | using System.Runtime.CompilerServices;
4 | using System.Runtime.InteropServices;
5 |
6 | [assembly: AssemblyTitle("TaskBarRenamer")]
7 | [assembly: AssemblyDescription("")]
8 | [assembly: AssemblyConfiguration("")]
9 | [assembly: AssemblyCompany("Kwaschny")]
10 | [assembly: AssemblyProduct("TaskBarRenamer")]
11 | [assembly: AssemblyCopyright("Copyright © Alexander Kwaschny 2009-2024")]
12 | [assembly: AssemblyTrademark("")]
13 | [assembly: AssemblyCulture("")]
14 | [assembly: ComVisible(false)]
15 | [assembly: Guid("8642613d-820a-46fb-b8c7-35b65192abaa")]
16 | [assembly: AssemblyVersion("1.0")]
17 | [assembly: AssemblyFileVersion("0.4")]
18 | [assembly: NeutralResourcesLanguage("en")]
19 | [assembly: InternalsVisibleTo("TaskBarRenamer.Tests")]
20 | [assembly: InternalsVisibleTo("TaskBarRenamer.Explorables")]
--------------------------------------------------------------------------------
/Forms/FormVersion.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 |
4 | namespace TaskBarRenamer
5 | {
6 | public partial class FormVersion : Form
7 | {
8 | #region Fields
9 |
10 | private readonly string website;
11 |
12 | #endregion
13 |
14 | #region Methods
15 |
16 | public FormVersion(string buildVersion, string website)
17 | {
18 | this.website = website;
19 |
20 | InitializeComponent();
21 |
22 | labelProduct.Text = Application.ProductName + " " + Application.ProductVersion;
23 | labelBuild.Text = buildVersion;
24 |
25 | labelCompany.Text = Application.CompanyName;
26 | labelWebsite.Text = website;
27 | }
28 |
29 | #endregion
30 |
31 | #region Click/Key-Events
32 |
33 | private void Website_Clicked(object sender, EventArgs e)
34 | {
35 | Program.OpenWebsite(website);
36 | }
37 |
38 | #endregion
39 | }
40 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2010 Alexander Kwaschny
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Forms/FormTextInput.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Forms;
2 |
3 | namespace TaskBarRenamer
4 | {
5 | public partial class FormTextInput : Form
6 | {
7 | #region Fields
8 |
9 | public string InputText
10 | {
11 | get;
12 | private set;
13 | }
14 |
15 | public bool ForceName
16 | {
17 | get;
18 | private set;
19 | }
20 |
21 | #endregion
22 |
23 | #region Methods
24 |
25 | public FormTextInput(string description, string defaultText, bool forceName)
26 | {
27 | ForceName = false;
28 |
29 | InitializeComponent();
30 |
31 | labelDescription.Text = description;
32 | textBoxInput.Text = defaultText;
33 | checkBoxForceName.Checked = forceName;
34 | }
35 |
36 | #endregion
37 |
38 | #region Click/Key-Events
39 |
40 | private void OK_Click(object sender, System.EventArgs e)
41 | {
42 | InputText = textBoxInput.Text;
43 | ForceName = checkBoxForceName.Checked;
44 | }
45 |
46 | #endregion
47 | }
48 | }
--------------------------------------------------------------------------------
/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | False
7 |
8 |
9 | False
10 |
11 |
12 | True
13 |
14 |
15 | 10
16 |
17 |
18 | False
19 |
20 |
21 | 10
22 |
23 |
24 | True
25 |
26 |
27 | <?xml version="1.0" encoding="utf-16"?>
28 | <ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
29 |
30 |
31 | <?xml version="1.0" encoding="utf-16"?>
32 | <ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
33 |
34 |
35 | <?xml version="1.0" encoding="utf-16"?>
36 | <ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer.Properties {
2 | using System;
3 |
4 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
5 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
6 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
7 | internal class Resources {
8 |
9 | private static global::System.Resources.ResourceManager resourceMan;
10 |
11 | private static global::System.Globalization.CultureInfo resourceCulture;
12 |
13 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
14 | internal Resources() {
15 | }
16 |
17 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
18 | internal static global::System.Resources.ResourceManager ResourceManager {
19 | get {
20 | if (object.ReferenceEquals(resourceMan, null)) {
21 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TaskBarRenamer.Properties.Resources", typeof(Resources).Assembly);
22 | resourceMan = temp;
23 | }
24 | return resourceMan;
25 | }
26 | }
27 |
28 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
29 | internal static global::System.Globalization.CultureInfo Culture {
30 | get {
31 | return resourceCulture;
32 | }
33 | set {
34 | resourceCulture = value;
35 | }
36 | }
37 |
38 | internal static System.Drawing.Bitmap AboutTray {
39 | get {
40 | object obj = ResourceManager.GetObject("AboutTray", resourceCulture);
41 | return ((System.Drawing.Bitmap)(obj));
42 | }
43 | }
44 |
45 | internal static System.Drawing.Bitmap KNET {
46 | get {
47 | object obj = ResourceManager.GetObject("KNET", resourceCulture);
48 | return ((System.Drawing.Bitmap)(obj));
49 | }
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/Forms/FormSettings.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Forms;
2 | using TaskBarRenamer.Languages;
3 |
4 | namespace TaskBarRenamer
5 | {
6 | #region Enums
7 |
8 | public enum SettingCategory
9 | {
10 | Refresh = 0
11 | }
12 |
13 | #endregion
14 |
15 | public partial class FormSettings : Form
16 | {
17 | #region Methods
18 |
19 | public FormSettings(SettingCategory category)
20 | {
21 | InitializeComponent();
22 |
23 | if ((int)category < tabControlSettings.TabCount)
24 | tabControlSettings.SelectedIndex = (int)category;
25 |
26 | checkBoxAutoRefresh.Checked = Properties.Settings.Default.AutoRefresh;
27 | numericUpDownRefreshEvery.SetValue(Properties.Settings.Default.RefreshEvery);
28 | checkBoxForegroundOnly.Checked = Properties.Settings.Default.ForegroundOnly;
29 | numericUpDownForceNamesEvery.SetValue(Properties.Settings.Default.ForceNamesEvery);
30 | }
31 |
32 | #endregion
33 |
34 | #region Click/Key-Events
35 |
36 | private void OK_Click(object sender, System.EventArgs e)
37 | {
38 | Properties.Settings.Default.AutoRefresh = checkBoxAutoRefresh.Checked;
39 | Properties.Settings.Default.RefreshEvery = (int)numericUpDownRefreshEvery.Value;
40 | Properties.Settings.Default.ForegroundOnly = checkBoxForegroundOnly.Checked;
41 | Properties.Settings.Default.ForceNamesEvery = (int)numericUpDownForceNamesEvery.Value;
42 | }
43 |
44 | #endregion
45 |
46 | #region Events
47 |
48 | private void CheckBox_CheckedChanged(object sender, System.EventArgs e)
49 | {
50 | bool status = checkBoxAutoRefresh.Checked;
51 | numericUpDownRefreshEvery.Enabled = status;
52 | checkBoxForegroundOnly.Enabled = status;
53 | }
54 | private void ForegroundOnly_CheckedChanged(object sender, System.EventArgs e)
55 | {
56 | if (!checkBoxForegroundOnly.Checked)
57 | return;
58 |
59 | if (MessageBox.Show(Language.ForegroundOnly, string.Empty, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button3) == DialogResult.Yes)
60 | checkBoxForegroundOnly.Checked = true;
61 | else
62 | checkBoxForegroundOnly.Checked = false;
63 | }
64 |
65 | #endregion
66 | }
67 | }
--------------------------------------------------------------------------------
/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | False
21 |
22 |
23 | False
24 |
25 |
26 | True
27 |
28 |
29 | 10
30 |
31 |
32 | False
33 |
34 |
35 | 10
36 |
37 |
38 | True
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Forms/FormAboutTray.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer
2 | {
3 | partial class FormAboutTray
4 | {
5 | private System.ComponentModel.IContainer components = null;
6 |
7 | protected override void Dispose(bool disposing)
8 | {
9 | if (disposing && (components != null))
10 | {
11 | components.Dispose();
12 | }
13 | base.Dispose(disposing);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAboutTray));
19 | this.pictureBoxTray = new System.Windows.Forms.PictureBox();
20 | this.labelInformAbout = new System.Windows.Forms.Label();
21 | this.checkBoxDoNotShowAgain = new System.Windows.Forms.CheckBox();
22 | this.buttonOK = new System.Windows.Forms.Button();
23 | ((System.ComponentModel.ISupportInitialize)(this.pictureBoxTray)).BeginInit();
24 | this.SuspendLayout();
25 | //
26 | // pictureBoxTray
27 | //
28 | resources.ApplyResources(this.pictureBoxTray, "pictureBoxTray");
29 | this.pictureBoxTray.Image = global::TaskBarRenamer.Properties.Resources.AboutTray;
30 | this.pictureBoxTray.Name = "pictureBoxTray";
31 | this.pictureBoxTray.TabStop = false;
32 | //
33 | // labelInformAbout
34 | //
35 | resources.ApplyResources(this.labelInformAbout, "labelInformAbout");
36 | this.labelInformAbout.Name = "labelInformAbout";
37 | //
38 | // checkBoxDoNotShowAgain
39 | //
40 | resources.ApplyResources(this.checkBoxDoNotShowAgain, "checkBoxDoNotShowAgain");
41 | this.checkBoxDoNotShowAgain.Name = "checkBoxDoNotShowAgain";
42 | this.checkBoxDoNotShowAgain.UseVisualStyleBackColor = true;
43 | //
44 | // buttonOK
45 | //
46 | resources.ApplyResources(this.buttonOK, "buttonOK");
47 | this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
48 | this.buttonOK.Name = "buttonOK";
49 | this.buttonOK.UseVisualStyleBackColor = true;
50 | //
51 | // FormAboutTray
52 | //
53 | this.AcceptButton = this.buttonOK;
54 | resources.ApplyResources(this, "$this");
55 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
56 | this.Controls.Add(this.buttonOK);
57 | this.Controls.Add(this.checkBoxDoNotShowAgain);
58 | this.Controls.Add(this.labelInformAbout);
59 | this.Controls.Add(this.pictureBoxTray);
60 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
61 | this.MaximizeBox = false;
62 | this.MinimizeBox = false;
63 | this.Name = "FormAboutTray";
64 | this.ShowIcon = false;
65 | this.ShowInTaskbar = false;
66 | this.TopMost = true;
67 | ((System.ComponentModel.ISupportInitialize)(this.pictureBoxTray)).EndInit();
68 | this.ResumeLayout(false);
69 | this.PerformLayout();
70 |
71 | }
72 |
73 | private System.Windows.Forms.PictureBox pictureBoxTray;
74 | private System.Windows.Forms.Label labelInformAbout;
75 | private System.Windows.Forms.CheckBox checkBoxDoNotShowAgain;
76 | private System.Windows.Forms.Button buttonOK;
77 | }
78 | }
--------------------------------------------------------------------------------
/Forms/FormTextInput.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer
2 | {
3 | partial class FormTextInput
4 | {
5 | private System.ComponentModel.IContainer components = null;
6 |
7 | protected override void Dispose(bool disposing)
8 | {
9 | if (disposing && (components != null))
10 | {
11 | components.Dispose();
12 | }
13 | base.Dispose(disposing);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormTextInput));
19 | this.buttonCancel = new System.Windows.Forms.Button();
20 | this.buttonOK = new System.Windows.Forms.Button();
21 | this.textBoxInput = new System.Windows.Forms.TextBox();
22 | this.labelDescription = new System.Windows.Forms.Label();
23 | this.checkBoxForceName = new System.Windows.Forms.CheckBox();
24 | this.SuspendLayout();
25 | //
26 | // buttonCancel
27 | //
28 | resources.ApplyResources(this.buttonCancel, "buttonCancel");
29 | this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
30 | this.buttonCancel.Name = "buttonCancel";
31 | this.buttonCancel.UseVisualStyleBackColor = true;
32 | //
33 | // buttonOK
34 | //
35 | resources.ApplyResources(this.buttonOK, "buttonOK");
36 | this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
37 | this.buttonOK.Name = "buttonOK";
38 | this.buttonOK.UseVisualStyleBackColor = true;
39 | this.buttonOK.Click += new System.EventHandler(this.OK_Click);
40 | //
41 | // textBoxInput
42 | //
43 | resources.ApplyResources(this.textBoxInput, "textBoxInput");
44 | this.textBoxInput.Name = "textBoxInput";
45 | //
46 | // labelDescription
47 | //
48 | resources.ApplyResources(this.labelDescription, "labelDescription");
49 | this.labelDescription.Name = "labelDescription";
50 | //
51 | // checkBoxForceName
52 | //
53 | resources.ApplyResources(this.checkBoxForceName, "checkBoxForceName");
54 | this.checkBoxForceName.Name = "checkBoxForceName";
55 | this.checkBoxForceName.UseVisualStyleBackColor = true;
56 | //
57 | // FormTextInput
58 | //
59 | this.AcceptButton = this.buttonOK;
60 | resources.ApplyResources(this, "$this");
61 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
62 | this.CancelButton = this.buttonCancel;
63 | this.Controls.Add(this.checkBoxForceName);
64 | this.Controls.Add(this.labelDescription);
65 | this.Controls.Add(this.textBoxInput);
66 | this.Controls.Add(this.buttonOK);
67 | this.Controls.Add(this.buttonCancel);
68 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
69 | this.MaximizeBox = false;
70 | this.MinimizeBox = false;
71 | this.Name = "FormTextInput";
72 | this.ShowIcon = false;
73 | this.ShowInTaskbar = false;
74 | this.ResumeLayout(false);
75 | this.PerformLayout();
76 |
77 | }
78 |
79 | private System.Windows.Forms.Button buttonCancel;
80 | private System.Windows.Forms.Button buttonOK;
81 | private System.Windows.Forms.TextBox textBoxInput;
82 | private System.Windows.Forms.Label labelDescription;
83 | private System.Windows.Forms.CheckBox checkBoxForceName;
84 | }
85 | }
--------------------------------------------------------------------------------
/Forms/FormVersion.designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer
2 | {
3 | partial class FormVersion
4 | {
5 | private System.ComponentModel.IContainer components = null;
6 |
7 | protected override void Dispose(bool disposing)
8 | {
9 | if (disposing && (components != null))
10 | {
11 | components.Dispose();
12 | }
13 | base.Dispose(disposing);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormVersion));
19 | this.buttonClose = new System.Windows.Forms.Button();
20 | this.pictureBoxK = new System.Windows.Forms.PictureBox();
21 | this.labelProduct = new System.Windows.Forms.Label();
22 | this.labelCompany = new System.Windows.Forms.Label();
23 | this.labelBuild = new System.Windows.Forms.Label();
24 | this.labelWebsite = new System.Windows.Forms.Label();
25 | ((System.ComponentModel.ISupportInitialize)(this.pictureBoxK)).BeginInit();
26 | this.SuspendLayout();
27 | //
28 | // buttonClose
29 | //
30 | resources.ApplyResources(this.buttonClose, "buttonClose");
31 | this.buttonClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
32 | this.buttonClose.Name = "buttonClose";
33 | this.buttonClose.UseVisualStyleBackColor = true;
34 | //
35 | // pictureBoxK
36 | //
37 | resources.ApplyResources(this.pictureBoxK, "pictureBoxK");
38 | this.pictureBoxK.Name = "pictureBoxK";
39 | this.pictureBoxK.TabStop = false;
40 | //
41 | // labelProduct
42 | //
43 | resources.ApplyResources(this.labelProduct, "labelProduct");
44 | this.labelProduct.Name = "labelProduct";
45 | //
46 | // labelCompany
47 | //
48 | resources.ApplyResources(this.labelCompany, "labelCompany");
49 | this.labelCompany.Name = "labelCompany";
50 | //
51 | // labelBuild
52 | //
53 | resources.ApplyResources(this.labelBuild, "labelBuild");
54 | this.labelBuild.ForeColor = System.Drawing.SystemColors.GrayText;
55 | this.labelBuild.Name = "labelBuild";
56 | //
57 | // labelWebsite
58 | //
59 | resources.ApplyResources(this.labelWebsite, "labelWebsite");
60 | this.labelWebsite.Cursor = System.Windows.Forms.Cursors.Hand;
61 | this.labelWebsite.ForeColor = System.Drawing.Color.Blue;
62 | this.labelWebsite.Name = "labelWebsite";
63 | this.labelWebsite.TabStop = true;
64 | this.labelWebsite.Click += new System.EventHandler(this.Website_Clicked);
65 | //
66 | // FormVersion
67 | //
68 | this.AcceptButton = this.buttonClose;
69 | resources.ApplyResources(this, "$this");
70 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
71 | this.CancelButton = this.buttonClose;
72 | this.Controls.Add(this.labelWebsite);
73 | this.Controls.Add(this.labelBuild);
74 | this.Controls.Add(this.labelCompany);
75 | this.Controls.Add(this.labelProduct);
76 | this.Controls.Add(this.pictureBoxK);
77 | this.Controls.Add(this.buttonClose);
78 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
79 | this.MaximizeBox = false;
80 | this.MinimizeBox = false;
81 | this.Name = "FormVersion";
82 | this.ShowIcon = false;
83 | this.ShowInTaskbar = false;
84 | ((System.ComponentModel.ISupportInitialize)(this.pictureBoxK)).EndInit();
85 | this.ResumeLayout(false);
86 |
87 | }
88 |
89 | private System.Windows.Forms.Button buttonClose;
90 | private System.Windows.Forms.PictureBox pictureBoxK;
91 | private System.Windows.Forms.Label labelProduct;
92 | private System.Windows.Forms.Label labelCompany;
93 | private System.Windows.Forms.Label labelBuild;
94 | private System.Windows.Forms.Label labelWebsite;
95 | }
96 | }
--------------------------------------------------------------------------------
/Forms/FormAutomatic.cs:
--------------------------------------------------------------------------------
1 | using System.Windows.Forms;
2 | using TaskBarRenamer.Languages;
3 |
4 | namespace TaskBarRenamer
5 | {
6 | public partial class FormAutomatic : Form
7 | {
8 | #region Fields
9 |
10 | public string RenameThis
11 | {
12 | get;
13 | private set;
14 | }
15 | public string ToThis
16 | {
17 | get;
18 | private set;
19 | }
20 | public bool ForceName
21 | {
22 | get;
23 | private set;
24 | }
25 |
26 | #endregion
27 |
28 | #region Methods
29 |
30 | public FormAutomatic(AutomaticEntry entry)
31 | {
32 | ForceName = false;
33 |
34 | InitializeComponent();
35 |
36 | textBoxFrom.Text = entry.FromName;
37 | switch (entry.Type)
38 | {
39 | case RenameType.Exact:
40 | radioButtonExact.Checked = true;
41 | break;
42 | case RenameType.Wildcard:
43 | radioButtonWildcard.Checked = true;
44 | break;
45 | case RenameType.RegExp:
46 | radioButtonRegExp.Checked = true;
47 | break;
48 | }
49 |
50 | textBoxTo.Text = entry.ToName;
51 | checkBoxForceName.Checked = entry.ForceName;
52 | }
53 | public FormAutomatic(bool forceName)
54 | {
55 | ForceName = false;
56 |
57 | InitializeComponent();
58 |
59 | checkBoxForceName.Checked = forceName;
60 | }
61 |
62 | #endregion
63 |
64 | #region Click/Key-Events
65 |
66 | private void OK_Click(object sender, System.EventArgs e)
67 | {
68 | string from = textBoxFrom.Text;
69 | if (radioButtonWildcard.Checked)
70 | {
71 | from = ("wc$" + from);
72 | }
73 | else if (radioButtonRegExp.Checked)
74 | {
75 | from = ("re$" + from);
76 | }
77 |
78 | RenameThis = from;
79 | ToThis = textBoxTo.Text;
80 | ForceName = checkBoxForceName.Checked;
81 | }
82 |
83 | #endregion
84 |
85 | #region Events
86 |
87 | private void TextBox_TextChanged(object sender, System.EventArgs e)
88 | {
89 | bool hasError = false;
90 |
91 | if (textBoxFrom.Text.Contains(";"))
92 | {
93 | hasError = true;
94 | errorProvider.SetError(textBoxFrom, Language.NotContainSemicolon);
95 | }
96 | else
97 | errorProvider.SetError(textBoxFrom, string.Empty);
98 |
99 | if (textBoxTo.Text.Contains(";"))
100 | {
101 | hasError = true;
102 | errorProvider.SetError(textBoxTo, Language.NotContainSemicolon);
103 | }
104 | else
105 | errorProvider.SetError(textBoxTo, string.Empty);
106 |
107 | if (textBoxFrom.Text.Length == 0)
108 | {
109 | hasError = true;
110 | }
111 |
112 | if (!hasError)
113 | {
114 | if (radioButtonWildcard.Checked)
115 | {
116 | var wc = AutomaticEntry.BuildRegex(textBoxFrom.Text, RenameType.Wildcard);
117 | if (wc == null)
118 | {
119 | hasError = true;
120 | errorProvider.SetError(textBoxFrom, Language.InvalidWildcard);
121 | }
122 | else
123 | {
124 | errorProvider.SetError(textBoxFrom, string.Empty);
125 | }
126 | }
127 | else if (radioButtonRegExp.Checked)
128 | {
129 | var re = AutomaticEntry.BuildRegex(textBoxFrom.Text, RenameType.RegExp);
130 | if (re == null)
131 | {
132 | hasError = true;
133 | errorProvider.SetError(textBoxFrom, Language.InvalidRegExp);
134 | }
135 | else
136 | {
137 | errorProvider.SetError(textBoxFrom, string.Empty);
138 | }
139 | }
140 | }
141 |
142 | buttonOK.Enabled = !hasError;
143 | }
144 |
145 | private void radioButtonExact_CheckedChanged(object sender, System.EventArgs e)
146 | {
147 | labelMatch.Text = string.Empty;
148 | }
149 |
150 | private void radioButtonWildcard_CheckedChanged(object sender, System.EventArgs e)
151 | {
152 | labelMatch.Text = Language.WildcardHint;
153 | }
154 |
155 | private void radioButtonRegExp_CheckedChanged(object sender, System.EventArgs e)
156 | {
157 | labelMatch.Text = Language.RegExpHint;
158 | }
159 |
160 | #endregion
161 |
162 | }
163 | }
--------------------------------------------------------------------------------
/Forms/FormTextInput.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Abbrechen
122 |
123 |
124 |
125 | 105, 17
126 |
127 |
128 | Name erzwingen
129 |
130 |
--------------------------------------------------------------------------------
/Objects.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Text.RegularExpressions;
3 |
4 | namespace TaskBarRenamer
5 | {
6 | public class TaskBarWindow
7 | {
8 | #region Fields
9 |
10 | public long Handle
11 | {
12 | get;
13 | private set;
14 | }
15 | public string OriginalName
16 | {
17 | get;
18 | private set;
19 | }
20 | public string NewName
21 | {
22 | get;
23 | set;
24 | }
25 | public bool ForceName
26 | {
27 | get;
28 | set;
29 | }
30 |
31 | public bool IsRenamed
32 | {
33 | get
34 | {
35 | return (NewName != null);
36 | }
37 | }
38 |
39 | #endregion
40 |
41 | #region Methods
42 |
43 | public void SetPredecessor(TaskBarWindow predecessor)
44 | {
45 | if (predecessor == null)
46 | return;
47 |
48 | NewName = OriginalName;
49 | OriginalName = predecessor.OriginalName;
50 | ForceName = predecessor.ForceName;
51 | }
52 |
53 | public TaskBarWindow(EnumWindowsItem window)
54 | {
55 | if (window == null)
56 | return;
57 |
58 | ForceName = false;
59 | Handle = (long)window.Handle;
60 | OriginalName = window.Text;
61 | }
62 | public TaskBarWindow(long handle, string originalName, string newName, bool forceName)
63 | {
64 | Handle = handle;
65 | OriginalName = originalName;
66 | NewName = newName;
67 | ForceName = forceName;
68 | }
69 |
70 | #endregion
71 | }
72 |
73 | public enum RenameType
74 | {
75 | Exact,
76 | Wildcard,
77 | RegExp
78 | }
79 |
80 | public class AutomaticEntry
81 | {
82 | #region Fields
83 |
84 | public RenameType Type
85 | {
86 | get;
87 | set;
88 | }
89 | public string From
90 | {
91 | get
92 | {
93 | switch (Type)
94 | {
95 | case RenameType.Wildcard:
96 | return ("wc$" + FromName);
97 | case RenameType.RegExp:
98 | return ("re$" + FromName);
99 | default:
100 | return FromName;
101 | }
102 | }
103 | }
104 | public string FromName
105 | {
106 | get;
107 | set;
108 | }
109 |
110 | public string ToName
111 | {
112 | get;
113 | set;
114 | }
115 |
116 | public bool ForceName
117 | {
118 | get;
119 | set;
120 | }
121 |
122 | private readonly Regex wildcard;
123 | private readonly Regex regexp;
124 |
125 | #endregion
126 |
127 | #region Methods
128 |
129 | public AutomaticEntry(string fromName, string toName, bool forceName)
130 | {
131 | if (fromName.StartsWith("wc$"))
132 | {
133 | Type = RenameType.Wildcard;
134 | FromName = fromName.Remove(0, 3);
135 | }
136 | else if (fromName.StartsWith("re$"))
137 | {
138 | Type = RenameType.RegExp;
139 | FromName = fromName.Remove(0, 3);
140 | }
141 | else
142 | {
143 | Type = RenameType.Exact;
144 | FromName = fromName;
145 | }
146 |
147 | switch (Type)
148 | {
149 | case RenameType.Wildcard:
150 | wildcard = BuildRegex(FromName, Type);
151 | break;
152 |
153 | case RenameType.RegExp:
154 | regexp = BuildRegex(FromName, Type);
155 | break;
156 | }
157 |
158 | ToName = toName;
159 | ForceName = forceName;
160 | }
161 |
162 | public bool Matches(string name)
163 | {
164 | if (string.IsNullOrEmpty(name))
165 | return false;
166 |
167 | switch (Type)
168 | {
169 | case RenameType.Wildcard:
170 | return wildcard.IsMatch(name);
171 |
172 | case RenameType.RegExp:
173 | return regexp.IsMatch(name);
174 | }
175 |
176 | return name.Equals(FromName, StringComparison.OrdinalIgnoreCase);
177 | }
178 |
179 | public string Rename(string name)
180 | {
181 | const int MAX_CAPTURES = 20;
182 |
183 | switch (Type)
184 | {
185 | case RenameType.RegExp:
186 |
187 | string result = ToName;
188 |
189 | MatchCollection matches = regexp.Matches(name);
190 | if (matches.Count > 0)
191 | {
192 | GroupCollection captures = matches[0].Groups;
193 | for (int i = 0; i < MAX_CAPTURES; i++)
194 | {
195 | string replacement;
196 | if (captures.Count > i) {
197 | replacement = captures[i].Value;
198 | }
199 | else
200 | {
201 | replacement = string.Empty;
202 | }
203 |
204 | result = result.Replace((@"\" + i), replacement);
205 | }
206 | }
207 | return result;
208 | }
209 |
210 | return ToName;
211 | }
212 |
213 | public static Regex BuildRegex(string pattern, RenameType type)
214 | {
215 | try
216 | {
217 | switch (type)
218 | {
219 | case RenameType.Wildcard:
220 | return new Regex(
221 | Regex.Escape(pattern).Replace(@"\*", ".*").Replace(@"\?", "."),
222 | RegexOptions.IgnoreCase
223 | );
224 |
225 | case RenameType.RegExp:
226 | return new Regex(pattern, RegexOptions.IgnoreCase);
227 | }
228 | }
229 | catch { }
230 |
231 | return null;
232 | }
233 |
234 | #endregion
235 | }
236 | }
--------------------------------------------------------------------------------
/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TaskBarRenamer.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 |
26 | [global::System.Configuration.UserScopedSettingAttribute()]
27 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
28 | [global::System.Configuration.DefaultSettingValueAttribute("False")]
29 | public bool ListAllWindows {
30 | get {
31 | return ((bool)(this["ListAllWindows"]));
32 | }
33 | set {
34 | this["ListAllWindows"] = value;
35 | }
36 | }
37 |
38 | [global::System.Configuration.UserScopedSettingAttribute()]
39 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
40 | [global::System.Configuration.DefaultSettingValueAttribute("False")]
41 | public bool InitialForceNames {
42 | get {
43 | return ((bool)(this["InitialForceNames"]));
44 | }
45 | set {
46 | this["InitialForceNames"] = value;
47 | }
48 | }
49 |
50 | [global::System.Configuration.UserScopedSettingAttribute()]
51 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
52 | [global::System.Configuration.DefaultSettingValueAttribute("True")]
53 | public bool AutoRefresh {
54 | get {
55 | return ((bool)(this["AutoRefresh"]));
56 | }
57 | set {
58 | this["AutoRefresh"] = value;
59 | }
60 | }
61 |
62 | [global::System.Configuration.UserScopedSettingAttribute()]
63 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
64 | [global::System.Configuration.DefaultSettingValueAttribute("10")]
65 | public int RefreshEvery {
66 | get {
67 | return ((int)(this["RefreshEvery"]));
68 | }
69 | set {
70 | this["RefreshEvery"] = value;
71 | }
72 | }
73 |
74 | [global::System.Configuration.UserScopedSettingAttribute()]
75 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
76 | [global::System.Configuration.DefaultSettingValueAttribute("False")]
77 | public bool ForegroundOnly {
78 | get {
79 | return ((bool)(this["ForegroundOnly"]));
80 | }
81 | set {
82 | this["ForegroundOnly"] = value;
83 | }
84 | }
85 |
86 | [global::System.Configuration.UserScopedSettingAttribute()]
87 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
88 | [global::System.Configuration.DefaultSettingValueAttribute("10")]
89 | public int ForceNamesEvery {
90 | get {
91 | return ((int)(this["ForceNamesEvery"]));
92 | }
93 | set {
94 | this["ForceNamesEvery"] = value;
95 | }
96 | }
97 |
98 | [global::System.Configuration.UserScopedSettingAttribute()]
99 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
100 | [global::System.Configuration.DefaultSettingValueAttribute("True")]
101 | public bool InformAboutTray {
102 | get {
103 | return ((bool)(this["InformAboutTray"]));
104 | }
105 | set {
106 | this["InformAboutTray"] = value;
107 | }
108 | }
109 |
110 | [global::System.Configuration.UserScopedSettingAttribute()]
111 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
112 | [global::System.Configuration.DefaultSettingValueAttribute("\r\n")]
114 | public global::System.Collections.Specialized.StringCollection Forms {
115 | get {
116 | return ((global::System.Collections.Specialized.StringCollection)(this["Forms"]));
117 | }
118 | set {
119 | this["Forms"] = value;
120 | }
121 | }
122 |
123 | [global::System.Configuration.UserScopedSettingAttribute()]
124 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
125 | [global::System.Configuration.DefaultSettingValueAttribute("\r\n")]
127 | public global::System.Collections.Specialized.StringCollection Automatic {
128 | get {
129 | return ((global::System.Collections.Specialized.StringCollection)(this["Automatic"]));
130 | }
131 | set {
132 | this["Automatic"] = value;
133 | }
134 | }
135 |
136 | [global::System.Configuration.UserScopedSettingAttribute()]
137 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
138 | [global::System.Configuration.DefaultSettingValueAttribute("\r\n")]
140 | public global::System.Collections.Specialized.StringCollection LastRenames {
141 | get {
142 | return ((global::System.Collections.Specialized.StringCollection)(this["LastRenames"]));
143 | }
144 | set {
145 | this["LastRenames"] = value;
146 | }
147 | }
148 | }
149 | }
150 |
--------------------------------------------------------------------------------
/Forms/FormAboutTray.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Das Fenster ist jetzt in den Windows Tray minimiert.
122 | Klicken Sie auf das Symbol im Windows Tray um das Fenster wieder zu öffnen.
123 |
124 |
125 |
126 | 198, 17
127 |
128 |
129 | Diese Meldung nicht mehr anzeigen.
130 |
131 |
132 | Hinweis zum Windows Tray
133 |
134 |
--------------------------------------------------------------------------------
/Properties/Resources.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | ..\Resources\AboutTray.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
123 |
124 |
125 |
126 | ..\Resources\KNET.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
127 |
128 |
--------------------------------------------------------------------------------
/Languages/Language.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.42000
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace TaskBarRenamer.Languages {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Language {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Language() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TaskBarRenamer.Languages.Language", typeof(Language).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 |
63 | ///
64 | /// Looks up a localized string similar to Currently there are renamed windows with forced names. If you close this program, the renamed windows names will be no longer forced. Are you sure that you want to quit?.
65 | ///
66 | internal static string ClosingPrompt {
67 | get {
68 | return ResourceManager.GetString("ClosingPrompt", resourceCulture);
69 | }
70 | }
71 |
72 | ///
73 | /// Looks up a localized string similar to If this option is enabled, the "Automatic Rename" feature does only work as long as the program is not minimized. Are you sure that you want to enable this option?.
74 | ///
75 | internal static string ForegroundOnly {
76 | get {
77 | return ResourceManager.GetString("ForegroundOnly", resourceCulture);
78 | }
79 | }
80 |
81 | ///
82 | /// Looks up a localized string similar to Type in the new name of the window:.
83 | ///
84 | internal static string InputNewName {
85 | get {
86 | return ResourceManager.GetString("InputNewName", resourceCulture);
87 | }
88 | }
89 |
90 | ///
91 | /// Looks up a localized string similar to The regular expression is invalid..
92 | ///
93 | internal static string InvalidRegExp {
94 | get {
95 | return ResourceManager.GetString("InvalidRegExp", resourceCulture);
96 | }
97 | }
98 |
99 | ///
100 | /// Looks up a localized string similar to The wildcard pattern is invalid..
101 | ///
102 | internal static string InvalidWildcard {
103 | get {
104 | return ResourceManager.GetString("InvalidWildcard", resourceCulture);
105 | }
106 | }
107 |
108 | ///
109 | /// Looks up a localized string similar to The name must not contain any semicolon..
110 | ///
111 | internal static string NotContainSemicolon {
112 | get {
113 | return ResourceManager.GetString("NotContainSemicolon", resourceCulture);
114 | }
115 | }
116 |
117 | ///
118 | /// Looks up a localized string similar to \1 - \9 to backreference captures.
119 | ///
120 | internal static string RegExpHint {
121 | get {
122 | return ResourceManager.GetString("RegExpHint", resourceCulture);
123 | }
124 | }
125 |
126 | ///
127 | /// Looks up a localized string similar to Search....
128 | ///
129 | internal static string Search {
130 | get {
131 | return ResourceManager.GetString("Search", resourceCulture);
132 | }
133 | }
134 |
135 | ///
136 | /// Looks up a localized string similar to An error occurred while trying to open the website. Your default web browser might not be set. Try to open the website manually with the following link:.
137 | ///
138 | internal static string WebsiteError {
139 | get {
140 | return ResourceManager.GetString("WebsiteError", resourceCulture);
141 | }
142 | }
143 |
144 | ///
145 | /// Looks up a localized string similar to ? = any single character, * = any number of characters.
146 | ///
147 | internal static string WildcardHint {
148 | get {
149 | return ResourceManager.GetString("WildcardHint", resourceCulture);
150 | }
151 | }
152 | }
153 | }
154 |
--------------------------------------------------------------------------------
/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 | using System;
3 | using System.Collections.Specialized;
4 | using System.Diagnostics;
5 | using System.Drawing;
6 | using System.IO;
7 | using System.Runtime.InteropServices;
8 | using System.Windows.Forms;
9 |
10 | namespace TaskBarRenamer
11 | {
12 | internal static class Program
13 | {
14 | #region Fields
15 |
16 | public static string Build
17 | {
18 | get
19 | {
20 | return "2024-03-30";
21 | }
22 | }
23 |
24 | public static string Website
25 | {
26 | get
27 | {
28 | return "https://kwaschny.net/";
29 | }
30 | }
31 |
32 | #endregion
33 |
34 | #region Methods
35 |
36 | [STAThread]
37 | private static void Main()
38 | {
39 | Application.EnableVisualStyles();
40 | Application.SetCompatibleTextRenderingDefault(false);
41 | Application.Run(new FormMain());
42 | }
43 |
44 | #region DLLImports
45 |
46 | [DllImport("user32")]
47 | public static extern IntPtr GetWindow(
48 | IntPtr hWnd,
49 | int wFlag
50 | );
51 |
52 | [DllImport("user32", EntryPoint = "GetClassLong", CharSet = CharSet.Auto)]
53 | public static extern int GetClassLongA(
54 | int hWnd,
55 | int nIndex
56 | );
57 |
58 | [DllImport("user32.dll")]
59 | public static extern bool IsWindow(
60 | int hWnd
61 | );
62 |
63 | [DllImport("user32.dll", CharSet = CharSet.Auto)]
64 | public static extern IntPtr SendMessage(
65 | int hWnd,
66 | int Msg,
67 | IntPtr wParam,
68 | IntPtr lParam
69 | );
70 |
71 | [DllImport("User32.dll")]
72 | public static extern bool IsIconic(
73 | int hWnd
74 | );
75 |
76 | [DllImport("User32.dll")]
77 | public static extern Int32 SetForegroundWindow(
78 | int hWnd
79 | );
80 |
81 | [DllImport("user32.dll")]
82 | public static extern bool ShowWindowAsync(
83 | IntPtr hWnd,
84 | int cmdShow
85 | );
86 |
87 | #endregion
88 |
89 | private static int ContainsLike(StringCollection stringCollection, string value)
90 | {
91 | for (int i = 0; i < stringCollection.Count; i++)
92 | {
93 | if (stringCollection[i].Contains(value))
94 | return i;
95 | }
96 |
97 | return -1;
98 | }
99 |
100 | public enum FormOperationResult
101 | {
102 | Successful,
103 | NoEntryFound,
104 | FormIsNull,
105 | FormNotVisible,
106 | FormMinimized,
107 | FormMaximized,
108 | CollectionIsNull,
109 | ValuesCorrupt,
110 | }
111 | public static FormOperationResult SaveForm(Form form, StringCollection formsCollection)
112 | {
113 | if (form == null)
114 | return FormOperationResult.FormIsNull;
115 |
116 | if (formsCollection == null)
117 | formsCollection = new StringCollection();
118 |
119 | if (!form.Visible)
120 | return FormOperationResult.FormNotVisible;
121 | if (form.WindowState == FormWindowState.Minimized)
122 | return FormOperationResult.FormMinimized;
123 | if (form.WindowState == FormWindowState.Maximized)
124 | return FormOperationResult.FormMaximized;
125 |
126 | int index = ContainsLike(formsCollection, form.Name);
127 | if (index >= 0)
128 | formsCollection.RemoveAt(index);
129 |
130 | formsCollection.Add(string.Format("{0}|{1}|{2}|{3}|{4}", form.Name, form.Left, form.Top, form.Width, form.Height));
131 |
132 | return FormOperationResult.Successful;
133 | }
134 | public static FormOperationResult LoadForm(Form form, StringCollection formsCollection)
135 | {
136 | if (form == null)
137 | return FormOperationResult.FormIsNull;
138 |
139 | if (formsCollection == null)
140 | return FormOperationResult.CollectionIsNull;
141 |
142 | Rectangle screen = Screen.PrimaryScreen.WorkingArea;
143 |
144 | int index = ContainsLike(formsCollection, form.Name);
145 | if (index >= 0)
146 | {
147 | string[] values = formsCollection[index].Split('|');
148 |
149 | if (values.Length < 5)
150 | return FormOperationResult.ValuesCorrupt;
151 |
152 | int.TryParse(values[1], out int tempValue);
153 | form.Left = tempValue;
154 | int.TryParse(values[2], out tempValue);
155 | form.Top = tempValue;
156 |
157 | switch (form.FormBorderStyle)
158 | {
159 | case FormBorderStyle.Sizable:
160 | case FormBorderStyle.SizableToolWindow:
161 | int.TryParse(values[3], out tempValue);
162 | form.Width = tempValue;
163 | int.TryParse(values[4], out tempValue);
164 | form.Height = tempValue;
165 | break;
166 | }
167 |
168 | if (form.Left < 0)
169 | form.Left = 0;
170 | if (form.Left + form.Width > screen.Width)
171 | form.Left = screen.Width - form.Width;
172 | if (form.Top < 0)
173 | form.Top = 0;
174 | if (form.Top + form.Height > screen.Height)
175 | form.Top = screen.Height - form.Height;
176 |
177 | return FormOperationResult.Successful;
178 | }
179 | else
180 | {
181 | if (form.Owner != null)
182 | {
183 | form.Left = form.Owner.Left + ((form.Owner.Width / 2) - (form.Width / 2));
184 | form.Top = form.Owner.Top + ((form.Owner.Height / 2) - (form.Height / 2));
185 | }
186 | else
187 | {
188 | form.Left = (screen.Width / 2) - (form.Width / 2);
189 | form.Top = (screen.Height / 2) - (form.Height / 2);
190 | }
191 | }
192 |
193 | return FormOperationResult.NoEntryFound;
194 | }
195 |
196 | public static bool OpenWebsite(string websiteLink)
197 | {
198 | if (string.IsNullOrEmpty(websiteLink))
199 | return false;
200 |
201 | try
202 | {
203 | Process.Start(websiteLink);
204 | return true;
205 | }
206 | catch
207 | {
208 | return false;
209 | }
210 | }
211 |
212 | #endregion
213 | }
214 | }
--------------------------------------------------------------------------------
/Languages/Language.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Currently there are renamed windows with forced names. If you close this program, the renamed windows names will be no longer forced. Are you sure that you want to quit?
122 | formMain
123 |
124 |
125 | If this option is enabled, the "Automatic Rename" feature does only work as long as the program is not minimized. Are you sure that you want to enable this option?
126 | formSettings
127 |
128 |
129 | Type in the new name of the window:
130 | formTextInput
131 |
132 |
133 | The regular expression is invalid.
134 | formAutomatic
135 |
136 |
137 | The wildcard pattern is invalid.
138 | formAutomatic
139 |
140 |
141 | The name must not contain any semicolon.
142 | formAutomatic
143 |
144 |
145 | \1 - \9 to backreference captures
146 | formAutomatic
147 |
148 |
149 | Search...
150 | formMain
151 |
152 |
153 | An error occurred while trying to open the website. Your default web browser might not be set. Try to open the website manually with the following link:
154 | formMain
155 |
156 |
157 | ? = any single character, * = any number of characters
158 | formAutomatic
159 |
160 |
--------------------------------------------------------------------------------
/Languages/Language.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Derzeit werden Namen umbenannter Fenster erzwungen. Wenn Sie das Programm beenden, können diese Namen nicht länger erzwungen werden. Sind Sie sicher, dass Sie beenden wollen?
122 | formMain
123 |
124 |
125 | Wenn Sie diese Option aktivieren, funktioniert die "Automatisch Umbenennen"-Funktion nur solange das Programm nicht minimiert ist. Sind Sie sicher, dass Sie diese Option aktivieren wollen?
126 | formSettings
127 |
128 |
129 | Geben Sie den neuen Name des Fensters an:
130 | formTextInput
131 |
132 |
133 | Der reguläre Ausdruck ist ungültig.
134 | formAutomatic
135 |
136 |
137 | Der Platzhalter-Ausdruck ist ungültig.
138 | formAutomatic
139 |
140 |
141 | Der Name darf kein Semikolon beinhalten.
142 | formAutomatic
143 |
144 |
145 | \1 - \9 für Rückverweise
146 | formAutomatic
147 |
148 |
149 | Suchen...
150 | formMain
151 |
152 |
153 | Beim Aufrufen der Website ist ein Fehler aufgetreten. Ihr Standard-Web-Browser ist möglicherweise nicht festgelegt. Versuchen Sie die Website unter folgendem Link manuell zu öffnen:
154 | formMain
155 |
156 |
157 | ? = beliebiger Buchstabe, * = beliebige Anzahl Buchstaben
158 | formAutomatic
159 |
160 |
--------------------------------------------------------------------------------
/Forms/FormSettings.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | 110, 13
123 |
124 |
125 | Sekunden erzwingen.
126 |
127 |
128 | 71, 136
129 |
130 |
131 | 23, 13
132 |
133 |
134 | alle
135 |
136 |
137 | 126, 13
138 |
139 |
140 | Wenn gesetzt, Namen...
141 |
142 |
143 | 121, 13
144 |
145 |
146 | Sekunden aktualisieren,
147 |
148 |
149 | 71, 34
150 |
151 |
152 | 23, 13
153 |
154 |
155 | alle
156 |
157 |
158 | 132, 17
159 |
160 |
161 | wenn im Vordergrund.
162 |
163 |
164 | 97, 17
165 |
166 |
167 | Automatisch...
168 |
169 |
170 | Aktualisierung
171 |
172 |
173 | Abbrechen
174 |
175 |
176 | Einstellungen
177 |
178 |
--------------------------------------------------------------------------------
/Forms/FormSettings.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer
2 | {
3 | partial class FormSettings
4 | {
5 | private System.ComponentModel.IContainer components = null;
6 |
7 | protected override void Dispose(bool disposing)
8 | {
9 | if (disposing && (components != null))
10 | {
11 | components.Dispose();
12 | }
13 | base.Dispose(disposing);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormSettings));
19 | this.tabControlSettings = new System.Windows.Forms.TabControl();
20 | this.tabPageRefresh = new System.Windows.Forms.TabPage();
21 | this.labelSeconds2 = new System.Windows.Forms.Label();
22 | this.labelEvery2 = new System.Windows.Forms.Label();
23 | this.numericUpDownForceNamesEvery = new TaskBarRenamer.NumericUpDownFixed();
24 | this.labelForceNames = new System.Windows.Forms.Label();
25 | this.labelSeconds1 = new System.Windows.Forms.Label();
26 | this.labelEvery1 = new System.Windows.Forms.Label();
27 | this.numericUpDownRefreshEvery = new TaskBarRenamer.NumericUpDownFixed();
28 | this.checkBoxForegroundOnly = new System.Windows.Forms.CheckBox();
29 | this.checkBoxAutoRefresh = new System.Windows.Forms.CheckBox();
30 | this.buttonOK = new System.Windows.Forms.Button();
31 | this.buttonCancel = new System.Windows.Forms.Button();
32 | this.tabControlSettings.SuspendLayout();
33 | this.tabPageRefresh.SuspendLayout();
34 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownForceNamesEvery)).BeginInit();
35 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownRefreshEvery)).BeginInit();
36 | this.SuspendLayout();
37 | //
38 | // tabControlSettings
39 | //
40 | resources.ApplyResources(this.tabControlSettings, "tabControlSettings");
41 | this.tabControlSettings.Controls.Add(this.tabPageRefresh);
42 | this.tabControlSettings.Name = "tabControlSettings";
43 | this.tabControlSettings.SelectedIndex = 0;
44 | //
45 | // tabPageRefresh
46 | //
47 | resources.ApplyResources(this.tabPageRefresh, "tabPageRefresh");
48 | this.tabPageRefresh.Controls.Add(this.labelSeconds2);
49 | this.tabPageRefresh.Controls.Add(this.labelEvery2);
50 | this.tabPageRefresh.Controls.Add(this.numericUpDownForceNamesEvery);
51 | this.tabPageRefresh.Controls.Add(this.labelForceNames);
52 | this.tabPageRefresh.Controls.Add(this.labelSeconds1);
53 | this.tabPageRefresh.Controls.Add(this.labelEvery1);
54 | this.tabPageRefresh.Controls.Add(this.numericUpDownRefreshEvery);
55 | this.tabPageRefresh.Controls.Add(this.checkBoxForegroundOnly);
56 | this.tabPageRefresh.Controls.Add(this.checkBoxAutoRefresh);
57 | this.tabPageRefresh.Name = "tabPageRefresh";
58 | this.tabPageRefresh.UseVisualStyleBackColor = true;
59 | //
60 | // labelSeconds2
61 | //
62 | resources.ApplyResources(this.labelSeconds2, "labelSeconds2");
63 | this.labelSeconds2.Name = "labelSeconds2";
64 | //
65 | // labelEvery2
66 | //
67 | resources.ApplyResources(this.labelEvery2, "labelEvery2");
68 | this.labelEvery2.Name = "labelEvery2";
69 | //
70 | // numericUpDownForceNamesEvery
71 | //
72 | resources.ApplyResources(this.numericUpDownForceNamesEvery, "numericUpDownForceNamesEvery");
73 | this.numericUpDownForceNamesEvery.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::TaskBarRenamer.Properties.Settings.Default, "ForceNamesEvery", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
74 | this.numericUpDownForceNamesEvery.Maximum = new decimal(new int[] {
75 | 6000,
76 | 0,
77 | 0,
78 | 0});
79 | this.numericUpDownForceNamesEvery.Minimum = new decimal(new int[] {
80 | 3,
81 | 0,
82 | 0,
83 | 0});
84 | this.numericUpDownForceNamesEvery.Name = "numericUpDownForceNamesEvery";
85 | this.numericUpDownForceNamesEvery.Value = global::TaskBarRenamer.Properties.Settings.Default.ForceNamesEvery;
86 | //
87 | // labelForceNames
88 | //
89 | resources.ApplyResources(this.labelForceNames, "labelForceNames");
90 | this.labelForceNames.Name = "labelForceNames";
91 | //
92 | // labelSeconds1
93 | //
94 | resources.ApplyResources(this.labelSeconds1, "labelSeconds1");
95 | this.labelSeconds1.Name = "labelSeconds1";
96 | //
97 | // labelEvery1
98 | //
99 | resources.ApplyResources(this.labelEvery1, "labelEvery1");
100 | this.labelEvery1.Name = "labelEvery1";
101 | //
102 | // numericUpDownRefreshEvery
103 | //
104 | resources.ApplyResources(this.numericUpDownRefreshEvery, "numericUpDownRefreshEvery");
105 | this.numericUpDownRefreshEvery.DataBindings.Add(new System.Windows.Forms.Binding("Value", global::TaskBarRenamer.Properties.Settings.Default, "RefreshEvery", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
106 | this.numericUpDownRefreshEvery.Maximum = new decimal(new int[] {
107 | 6000,
108 | 0,
109 | 0,
110 | 0});
111 | this.numericUpDownRefreshEvery.Minimum = new decimal(new int[] {
112 | 3,
113 | 0,
114 | 0,
115 | 0});
116 | this.numericUpDownRefreshEvery.Name = "numericUpDownRefreshEvery";
117 | this.numericUpDownRefreshEvery.Value = global::TaskBarRenamer.Properties.Settings.Default.RefreshEvery;
118 | //
119 | // checkBoxForegroundOnly
120 | //
121 | resources.ApplyResources(this.checkBoxForegroundOnly, "checkBoxForegroundOnly");
122 | this.checkBoxForegroundOnly.Checked = global::TaskBarRenamer.Properties.Settings.Default.ForegroundOnly;
123 | this.checkBoxForegroundOnly.CheckState = System.Windows.Forms.CheckState.Checked;
124 | this.checkBoxForegroundOnly.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::TaskBarRenamer.Properties.Settings.Default, "ForegroundOnly", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
125 | this.checkBoxForegroundOnly.Name = "checkBoxForegroundOnly";
126 | this.checkBoxForegroundOnly.UseVisualStyleBackColor = true;
127 | this.checkBoxForegroundOnly.CheckedChanged += new System.EventHandler(this.ForegroundOnly_CheckedChanged);
128 | //
129 | // checkBoxAutoRefresh
130 | //
131 | resources.ApplyResources(this.checkBoxAutoRefresh, "checkBoxAutoRefresh");
132 | this.checkBoxAutoRefresh.Checked = global::TaskBarRenamer.Properties.Settings.Default.AutoRefresh;
133 | this.checkBoxAutoRefresh.CheckState = System.Windows.Forms.CheckState.Checked;
134 | this.checkBoxAutoRefresh.DataBindings.Add(new System.Windows.Forms.Binding("Checked", global::TaskBarRenamer.Properties.Settings.Default, "AutoRefresh", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged));
135 | this.checkBoxAutoRefresh.Name = "checkBoxAutoRefresh";
136 | this.checkBoxAutoRefresh.UseVisualStyleBackColor = true;
137 | this.checkBoxAutoRefresh.CheckedChanged += new System.EventHandler(this.CheckBox_CheckedChanged);
138 | //
139 | // buttonOK
140 | //
141 | resources.ApplyResources(this.buttonOK, "buttonOK");
142 | this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
143 | this.buttonOK.Name = "buttonOK";
144 | this.buttonOK.UseVisualStyleBackColor = true;
145 | this.buttonOK.Click += new System.EventHandler(this.OK_Click);
146 | //
147 | // buttonCancel
148 | //
149 | resources.ApplyResources(this.buttonCancel, "buttonCancel");
150 | this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
151 | this.buttonCancel.Name = "buttonCancel";
152 | this.buttonCancel.UseVisualStyleBackColor = true;
153 | //
154 | // FormSettings
155 | //
156 | this.AcceptButton = this.buttonOK;
157 | resources.ApplyResources(this, "$this");
158 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
159 | this.CancelButton = this.buttonCancel;
160 | this.Controls.Add(this.buttonOK);
161 | this.Controls.Add(this.buttonCancel);
162 | this.Controls.Add(this.tabControlSettings);
163 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
164 | this.MaximizeBox = false;
165 | this.MinimizeBox = false;
166 | this.Name = "FormSettings";
167 | this.ShowIcon = false;
168 | this.ShowInTaskbar = false;
169 | this.tabControlSettings.ResumeLayout(false);
170 | this.tabPageRefresh.ResumeLayout(false);
171 | this.tabPageRefresh.PerformLayout();
172 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownForceNamesEvery)).EndInit();
173 | ((System.ComponentModel.ISupportInitialize)(this.numericUpDownRefreshEvery)).EndInit();
174 | this.ResumeLayout(false);
175 |
176 | }
177 |
178 | private System.Windows.Forms.TabControl tabControlSettings;
179 | private System.Windows.Forms.TabPage tabPageRefresh;
180 | private System.Windows.Forms.Label labelSeconds2;
181 | private System.Windows.Forms.Label labelEvery2;
182 | private NumericUpDownFixed numericUpDownForceNamesEvery;
183 | private System.Windows.Forms.Label labelForceNames;
184 | private System.Windows.Forms.Label labelSeconds1;
185 | private System.Windows.Forms.Label labelEvery1;
186 | private NumericUpDownFixed numericUpDownRefreshEvery;
187 | private System.Windows.Forms.CheckBox checkBoxForegroundOnly;
188 | private System.Windows.Forms.CheckBox checkBoxAutoRefresh;
189 | private System.Windows.Forms.Button buttonOK;
190 | private System.Windows.Forms.Button buttonCancel;
191 |
192 | }
193 | }
--------------------------------------------------------------------------------
/TaskBarRenamer.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | x86
6 | 8.0.30703
7 | 2.0
8 | {01545AA5-3577-435F-A1BB-3A75F4EB221C}
9 | WinExe
10 | Properties
11 | TaskBarRenamer
12 | TaskBarRenamer
13 | v2.0
14 |
15 |
16 | 512
17 | false
18 | publish\
19 | true
20 | Disk
21 | false
22 | Foreground
23 | 7
24 | Days
25 | false
26 | false
27 | true
28 | publish.htm
29 | false
30 | true
31 | 0
32 | 1.0.0.0
33 | false
34 | true
35 | true
36 |
37 |
38 | x86
39 | true
40 | full
41 | false
42 | bin\Debug\
43 | DEBUG
44 | prompt
45 | 4
46 |
47 |
48 | x86
49 | pdbonly
50 | true
51 | bin\Release\
52 |
53 |
54 | prompt
55 | 4
56 |
57 |
58 | TBRN.ico
59 |
60 |
61 | true
62 | bin\x64\Debug\
63 | DEBUG
64 | full
65 | x64
66 | prompt
67 | false
68 | false
69 |
70 |
71 | bin\x64\Release\
72 | true
73 | pdbonly
74 | x64
75 | prompt
76 | true
77 | true
78 | false
79 |
80 |
81 | 079E9503DB6ECAE23DDBA676EE1E75AFAF9B73A8
82 |
83 |
84 | TaskBarRenamer_TemporaryKey.pfx
85 |
86 |
87 | false
88 |
89 |
90 | false
91 |
92 |
93 | LocalIntranet
94 |
95 |
96 |
97 | TaskBarRenamer.Program
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 | Form
109 |
110 |
111 | FormVersion.cs
112 |
113 |
114 |
115 | Component
116 |
117 |
118 | Form
119 |
120 |
121 | FormAboutTray.cs
122 |
123 |
124 | Form
125 |
126 |
127 | FormMain.cs
128 |
129 |
130 | Form
131 |
132 |
133 | FormSettings.cs
134 |
135 |
136 | Form
137 |
138 |
139 | FormTextInput.cs
140 |
141 |
142 | Form
143 |
144 |
145 | FormAutomatic.cs
146 |
147 |
148 | Language.de.resx
149 | True
150 | True
151 |
152 |
153 | True
154 | True
155 | Language.resx
156 |
157 |
158 |
159 |
160 |
161 | FormAboutTray.cs
162 |
163 |
164 | FormAboutTray.cs
165 |
166 |
167 | FormAutomatic.cs
168 |
169 |
170 | FormMain.cs
171 |
172 |
173 | FormMain.cs
174 |
175 |
176 | FormSettings.cs
177 |
178 |
179 | FormSettings.cs
180 |
181 |
182 | FormTextInput.cs
183 |
184 |
185 | FormTextInput.cs
186 |
187 |
188 | FormAutomatic.cs
189 |
190 |
191 | FormVersion.cs
192 |
193 |
194 | FormVersion.cs
195 |
196 |
197 | ResXFileCodeGenerator
198 | Language.de.Designer.cs
199 |
200 |
201 | ResXFileCodeGenerator
202 | Language.Designer.cs
203 |
204 |
205 | ResXFileCodeGenerator
206 | Resources.Designer.cs
207 | Designer
208 |
209 |
210 | True
211 | Resources.resx
212 | True
213 |
214 |
215 |
216 | SettingsSingleFileGenerator
217 | Settings.Designer.cs
218 |
219 |
220 | True
221 | Settings.settings
222 | True
223 |
224 |
225 |
226 |
227 |
228 |
229 |
230 | False
231 | .NET Framework 3.5 SP1 Client Profile
232 | false
233 |
234 |
235 | False
236 | .NET Framework 3.5 SP1
237 | true
238 |
239 |
240 | False
241 | Windows Installer 3.1
242 | true
243 |
244 |
245 |
246 |
247 |
254 |
--------------------------------------------------------------------------------
/Forms/FormAutomatic.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 |
123 |
124 |
125 | MiddleRight
126 |
127 |
128 |
129 | 0
130 |
131 |
132 |
133 |
134 |
135 | MiddleRight
136 |
137 |
138 | 0
139 |
140 |
141 |
142 |
143 |
144 | MiddleRight
145 |
146 |
147 | 0
148 |
149 |
150 |
151 |
152 |
153 | MiddleRight
154 |
155 |
156 | 0
157 |
158 |
159 |
160 |
161 |
162 | MiddleRight
163 |
164 |
165 | 0
166 |
167 |
168 | Exakt
169 |
170 |
171 |
172 |
173 |
174 | MiddleRight
175 |
176 |
177 | 0
178 |
179 |
180 |
181 | 105, 17
182 |
183 |
184 | Name erzwingen
185 |
186 |
187 |
188 |
189 |
190 | MiddleRight
191 |
192 |
193 | 0
194 |
195 |
196 | 54, 13
197 |
198 |
199 | zu diesem
200 |
201 |
202 |
203 |
204 |
205 | MiddleRight
206 |
207 |
208 | 0
209 |
210 |
211 |
212 |
213 |
214 | MiddleRight
215 |
216 |
217 | 0
218 |
219 |
220 | 91, 13
221 |
222 |
223 | Umbenennen von
224 |
225 |
226 |
227 |
228 |
229 | MiddleRight
230 |
231 |
232 | 0
233 |
234 |
235 |
236 |
237 |
238 | MiddleRight
239 |
240 |
241 | 0
242 |
243 |
244 | Abbrechen
245 |
246 |
--------------------------------------------------------------------------------
/Forms/FormAutomatic.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace TaskBarRenamer
2 | {
3 | partial class FormAutomatic
4 | {
5 | private System.ComponentModel.IContainer components = null;
6 |
7 | protected override void Dispose(bool disposing)
8 | {
9 | if (disposing && (components != null))
10 | {
11 | components.Dispose();
12 | }
13 | base.Dispose(disposing);
14 | }
15 |
16 | private void InitializeComponent()
17 | {
18 | this.components = new System.ComponentModel.Container();
19 | System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormAutomatic));
20 | this.buttonCancel = new System.Windows.Forms.Button();
21 | this.buttonOK = new System.Windows.Forms.Button();
22 | this.textBoxFrom = new System.Windows.Forms.TextBox();
23 | this.labelFrom = new System.Windows.Forms.Label();
24 | this.labelTo = new System.Windows.Forms.Label();
25 | this.textBoxTo = new System.Windows.Forms.TextBox();
26 | this.checkBoxForceName = new System.Windows.Forms.CheckBox();
27 | this.errorProvider = new System.Windows.Forms.ErrorProvider(this.components);
28 | this.radioButtonExact = new System.Windows.Forms.RadioButton();
29 | this.radioButtonWildcard = new System.Windows.Forms.RadioButton();
30 | this.radioButtonRegExp = new System.Windows.Forms.RadioButton();
31 | this.labelMatch = new System.Windows.Forms.Label();
32 | ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
33 | this.SuspendLayout();
34 | //
35 | // buttonCancel
36 | //
37 | resources.ApplyResources(this.buttonCancel, "buttonCancel");
38 | this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
39 | this.errorProvider.SetError(this.buttonCancel, resources.GetString("buttonCancel.Error"));
40 | this.errorProvider.SetIconAlignment(this.buttonCancel, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("buttonCancel.IconAlignment"))));
41 | this.errorProvider.SetIconPadding(this.buttonCancel, ((int)(resources.GetObject("buttonCancel.IconPadding"))));
42 | this.buttonCancel.Name = "buttonCancel";
43 | this.buttonCancel.UseVisualStyleBackColor = true;
44 | //
45 | // buttonOK
46 | //
47 | resources.ApplyResources(this.buttonOK, "buttonOK");
48 | this.buttonOK.DialogResult = System.Windows.Forms.DialogResult.OK;
49 | this.errorProvider.SetError(this.buttonOK, resources.GetString("buttonOK.Error"));
50 | this.errorProvider.SetIconAlignment(this.buttonOK, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("buttonOK.IconAlignment"))));
51 | this.errorProvider.SetIconPadding(this.buttonOK, ((int)(resources.GetObject("buttonOK.IconPadding"))));
52 | this.buttonOK.Name = "buttonOK";
53 | this.buttonOK.UseVisualStyleBackColor = true;
54 | this.buttonOK.Click += new System.EventHandler(this.OK_Click);
55 | //
56 | // textBoxFrom
57 | //
58 | resources.ApplyResources(this.textBoxFrom, "textBoxFrom");
59 | this.errorProvider.SetError(this.textBoxFrom, resources.GetString("textBoxFrom.Error"));
60 | this.errorProvider.SetIconAlignment(this.textBoxFrom, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("textBoxFrom.IconAlignment"))));
61 | this.errorProvider.SetIconPadding(this.textBoxFrom, ((int)(resources.GetObject("textBoxFrom.IconPadding"))));
62 | this.textBoxFrom.Name = "textBoxFrom";
63 | this.textBoxFrom.TextChanged += new System.EventHandler(this.TextBox_TextChanged);
64 | //
65 | // labelFrom
66 | //
67 | resources.ApplyResources(this.labelFrom, "labelFrom");
68 | this.errorProvider.SetError(this.labelFrom, resources.GetString("labelFrom.Error"));
69 | this.errorProvider.SetIconAlignment(this.labelFrom, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("labelFrom.IconAlignment"))));
70 | this.errorProvider.SetIconPadding(this.labelFrom, ((int)(resources.GetObject("labelFrom.IconPadding"))));
71 | this.labelFrom.Name = "labelFrom";
72 | //
73 | // labelTo
74 | //
75 | resources.ApplyResources(this.labelTo, "labelTo");
76 | this.errorProvider.SetError(this.labelTo, resources.GetString("labelTo.Error"));
77 | this.errorProvider.SetIconAlignment(this.labelTo, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("labelTo.IconAlignment"))));
78 | this.errorProvider.SetIconPadding(this.labelTo, ((int)(resources.GetObject("labelTo.IconPadding"))));
79 | this.labelTo.Name = "labelTo";
80 | //
81 | // textBoxTo
82 | //
83 | resources.ApplyResources(this.textBoxTo, "textBoxTo");
84 | this.errorProvider.SetError(this.textBoxTo, resources.GetString("textBoxTo.Error"));
85 | this.errorProvider.SetIconAlignment(this.textBoxTo, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("textBoxTo.IconAlignment"))));
86 | this.errorProvider.SetIconPadding(this.textBoxTo, ((int)(resources.GetObject("textBoxTo.IconPadding"))));
87 | this.textBoxTo.Name = "textBoxTo";
88 | this.textBoxTo.TextChanged += new System.EventHandler(this.TextBox_TextChanged);
89 | //
90 | // checkBoxForceName
91 | //
92 | resources.ApplyResources(this.checkBoxForceName, "checkBoxForceName");
93 | this.errorProvider.SetError(this.checkBoxForceName, resources.GetString("checkBoxForceName.Error"));
94 | this.errorProvider.SetIconAlignment(this.checkBoxForceName, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("checkBoxForceName.IconAlignment"))));
95 | this.errorProvider.SetIconPadding(this.checkBoxForceName, ((int)(resources.GetObject("checkBoxForceName.IconPadding"))));
96 | this.checkBoxForceName.Name = "checkBoxForceName";
97 | this.checkBoxForceName.UseVisualStyleBackColor = true;
98 | //
99 | // errorProvider
100 | //
101 | this.errorProvider.ContainerControl = this;
102 | resources.ApplyResources(this.errorProvider, "errorProvider");
103 | //
104 | // radioButtonExact
105 | //
106 | resources.ApplyResources(this.radioButtonExact, "radioButtonExact");
107 | this.radioButtonExact.Checked = true;
108 | this.errorProvider.SetError(this.radioButtonExact, resources.GetString("radioButtonExact.Error"));
109 | this.errorProvider.SetIconAlignment(this.radioButtonExact, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("radioButtonExact.IconAlignment"))));
110 | this.errorProvider.SetIconPadding(this.radioButtonExact, ((int)(resources.GetObject("radioButtonExact.IconPadding"))));
111 | this.radioButtonExact.Name = "radioButtonExact";
112 | this.radioButtonExact.TabStop = true;
113 | this.radioButtonExact.UseVisualStyleBackColor = true;
114 | this.radioButtonExact.CheckedChanged += new System.EventHandler(this.radioButtonExact_CheckedChanged);
115 | //
116 | // radioButtonWildcard
117 | //
118 | resources.ApplyResources(this.radioButtonWildcard, "radioButtonWildcard");
119 | this.errorProvider.SetError(this.radioButtonWildcard, resources.GetString("radioButtonWildcard.Error"));
120 | this.errorProvider.SetIconAlignment(this.radioButtonWildcard, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("radioButtonWildcard.IconAlignment"))));
121 | this.errorProvider.SetIconPadding(this.radioButtonWildcard, ((int)(resources.GetObject("radioButtonWildcard.IconPadding"))));
122 | this.radioButtonWildcard.Name = "radioButtonWildcard";
123 | this.radioButtonWildcard.UseVisualStyleBackColor = true;
124 | this.radioButtonWildcard.CheckedChanged += new System.EventHandler(this.radioButtonWildcard_CheckedChanged);
125 | //
126 | // radioButtonRegExp
127 | //
128 | resources.ApplyResources(this.radioButtonRegExp, "radioButtonRegExp");
129 | this.errorProvider.SetError(this.radioButtonRegExp, resources.GetString("radioButtonRegExp.Error"));
130 | this.errorProvider.SetIconAlignment(this.radioButtonRegExp, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("radioButtonRegExp.IconAlignment"))));
131 | this.errorProvider.SetIconPadding(this.radioButtonRegExp, ((int)(resources.GetObject("radioButtonRegExp.IconPadding"))));
132 | this.radioButtonRegExp.Name = "radioButtonRegExp";
133 | this.radioButtonRegExp.UseVisualStyleBackColor = true;
134 | this.radioButtonRegExp.CheckedChanged += new System.EventHandler(this.radioButtonRegExp_CheckedChanged);
135 | //
136 | // labelMatch
137 | //
138 | resources.ApplyResources(this.labelMatch, "labelMatch");
139 | this.errorProvider.SetError(this.labelMatch, resources.GetString("labelMatch.Error"));
140 | this.labelMatch.ForeColor = System.Drawing.SystemColors.ControlDark;
141 | this.errorProvider.SetIconAlignment(this.labelMatch, ((System.Windows.Forms.ErrorIconAlignment)(resources.GetObject("labelMatch.IconAlignment"))));
142 | this.errorProvider.SetIconPadding(this.labelMatch, ((int)(resources.GetObject("labelMatch.IconPadding"))));
143 | this.labelMatch.Name = "labelMatch";
144 | //
145 | // FormAutomatic
146 | //
147 | this.AcceptButton = this.buttonOK;
148 | resources.ApplyResources(this, "$this");
149 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
150 | this.CancelButton = this.buttonCancel;
151 | this.Controls.Add(this.labelMatch);
152 | this.Controls.Add(this.radioButtonRegExp);
153 | this.Controls.Add(this.radioButtonWildcard);
154 | this.Controls.Add(this.radioButtonExact);
155 | this.Controls.Add(this.checkBoxForceName);
156 | this.Controls.Add(this.labelTo);
157 | this.Controls.Add(this.textBoxTo);
158 | this.Controls.Add(this.labelFrom);
159 | this.Controls.Add(this.textBoxFrom);
160 | this.Controls.Add(this.buttonOK);
161 | this.Controls.Add(this.buttonCancel);
162 | this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
163 | this.MaximizeBox = false;
164 | this.MinimizeBox = false;
165 | this.Name = "FormAutomatic";
166 | this.ShowIcon = false;
167 | this.ShowInTaskbar = false;
168 | ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
169 | this.ResumeLayout(false);
170 | this.PerformLayout();
171 |
172 | }
173 |
174 | private System.Windows.Forms.Button buttonCancel;
175 | private System.Windows.Forms.Button buttonOK;
176 | private System.Windows.Forms.TextBox textBoxFrom;
177 | private System.Windows.Forms.Label labelFrom;
178 | private System.Windows.Forms.Label labelTo;
179 | private System.Windows.Forms.TextBox textBoxTo;
180 | private System.Windows.Forms.CheckBox checkBoxForceName;
181 | private System.Windows.Forms.ErrorProvider errorProvider;
182 | private System.Windows.Forms.RadioButton radioButtonRegExp;
183 | private System.Windows.Forms.RadioButton radioButtonWildcard;
184 | private System.Windows.Forms.RadioButton radioButtonExact;
185 | private System.Windows.Forms.Label labelMatch;
186 | }
187 | }
--------------------------------------------------------------------------------
/Forms/FormAboutTray.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | Bottom, Right
123 |
124 |
125 | $this
126 |
127 |
128 | 1
129 |
130 |
131 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
132 |
133 |
134 | 2
135 |
136 |
137 |
138 | 12, 149
139 |
140 |
141 | 386, 28
142 |
143 |
144 |
145 | True
146 |
147 |
148 | 0
149 |
150 |
151 | 323, 145
152 |
153 |
154 | 6, 13
155 |
156 |
157 | Bottom, Left
158 |
159 |
160 | System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
161 |
162 |
163 | 0
164 |
165 |
166 | Tahoma, 8.25pt
167 |
168 |
169 | About the Windows Tray
170 |
171 |
172 | FormAboutTray
173 |
174 |
175 | $this
176 |
177 |
178 | 3
179 |
180 |
181 | 410, 180
182 |
183 |
184 | 400, 60
185 |
186 |
187 | $this
188 |
189 |
190 | labelInformAbout
191 |
192 |
193 | checkBoxDoNotShowAgain
194 |
195 |
196 | 75, 23
197 |
198 |
199 | pictureBoxTray
200 |
201 |
202 | 0
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 | The window is now minimized to the Windows Tray.
212 | Click the icon in the Windows Tray to open the window again.
213 |
214 |
215 | Do not show this message again.
216 |
217 |
218 | 4, 58
219 |
220 |
221 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
222 |
223 |
224 | CenterScreen
225 |
226 |
227 | 0
228 |
229 |
230 | $this
231 |
232 |
233 | System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
234 |
235 |
236 | 12, 24
237 |
238 |
239 | 1
240 |
241 |
242 | buttonOK
243 |
244 |
245 | 184, 17
246 |
247 |
248 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
249 |
250 |
251 | OK
252 |
253 |
254 | True
255 |
256 |
--------------------------------------------------------------------------------
/EnumWindows.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections;
3 | using System.Drawing;
4 | using System.Runtime.InteropServices;
5 | using System.Text;
6 |
7 | namespace TaskBarRenamer
8 | {
9 | #region External Code
10 |
11 | [Flags]
12 | public enum WindowStyleFlags : uint
13 | {
14 | WS_OVERLAPPED = 0x00000000,
15 | WS_POPUP = 0x80000000,
16 | WS_CHILD = 0x40000000,
17 | WS_MINIMIZE = 0x20000000,
18 | WS_VISIBLE = 0x10000000,
19 | WS_DISABLED = 0x08000000,
20 | WS_CLIPSIBLINGS = 0x04000000,
21 | WS_CLIPCHILDREN = 0x02000000,
22 | WS_MAXIMIZE = 0x01000000,
23 | WS_BORDER = 0x00800000,
24 | WS_DLGFRAME = 0x00400000,
25 | WS_VSCROLL = 0x00200000,
26 | WS_HSCROLL = 0x00100000,
27 | WS_SYSMENU = 0x00080000,
28 | WS_THICKFRAME = 0x00040000,
29 | WS_GROUP = 0x00020000,
30 | WS_TABSTOP = 0x00010000,
31 | WS_MINIMIZEBOX = 0x00020000,
32 | WS_MAXIMIZEBOX = 0x00010000,
33 | }
34 |
35 | [Flags]
36 | public enum ExtendedWindowStyleFlags
37 | {
38 | WS_EX_DLGMODALFRAME = 0x00000001,
39 | WS_EX_NOPARENTNOTIFY = 0x00000004,
40 | WS_EX_TOPMOST = 0x00000008,
41 | WS_EX_ACCEPTFILES = 0x00000010,
42 | WS_EX_TRANSPARENT = 0x00000020,
43 |
44 | WS_EX_MDICHILD = 0x00000040,
45 | WS_EX_TOOLWINDOW = 0x00000080,
46 | WS_EX_WINDOWEDGE = 0x00000100,
47 | WS_EX_CLIENTEDGE = 0x00000200,
48 | WS_EX_CONTEXTHELP = 0x00000400,
49 |
50 | WS_EX_RIGHT = 0x00001000,
51 | WS_EX_LEFT = 0x00000000,
52 | WS_EX_RTLREADING = 0x00002000,
53 | WS_EX_LTRREADING = 0x00000000,
54 | WS_EX_LEFTSCROLLBAR = 0x00004000,
55 | WS_EX_RIGHTSCROLLBAR = 0x00000000,
56 |
57 | WS_EX_CONTROLPARENT = 0x00010000,
58 | WS_EX_STATICEDGE = 0x00020000,
59 | WS_EX_APPWINDOW = 0x00040000,
60 |
61 | WS_EX_LAYERED = 0x00080000,
62 |
63 | WS_EX_NOINHERITLAYOUT = 0x00100000,
64 | WS_EX_LAYOUTRTL = 0x00400000,
65 |
66 | WS_EX_COMPOSITED = 0x02000000,
67 | WS_EX_NOACTIVATE = 0x08000000
68 | }
69 |
70 | #region EnumWindows
71 |
72 | public class EnumWindows
73 | {
74 | #region Delegates
75 |
76 | private delegate int EnumWindowsProc(IntPtr hwnd, int lParam);
77 |
78 | #endregion
79 |
80 | #region UnManagedMethods
81 |
82 | private class UnManagedMethods
83 | {
84 | [DllImport("user32")]
85 | public static extern int EnumWindows(
86 | EnumWindowsProc lpEnumFunc,
87 | int lParam);
88 |
89 | [DllImport("user32")]
90 | public static extern int EnumChildWindows(
91 | IntPtr hWndParent,
92 | EnumWindowsProc lpEnumFunc,
93 | int lParam);
94 | }
95 |
96 | #endregion
97 |
98 | public EnumWindowsCollection Items
99 | {
100 | get;
101 | private set;
102 | }
103 |
104 | public void GetWindows()
105 | {
106 | this.Items = new EnumWindowsCollection();
107 | UnManagedMethods.EnumWindows(
108 | new EnumWindowsProc(this.WindowEnum), 0);
109 | }
110 |
111 | public void GetWindows(IntPtr hWndParent)
112 | {
113 | this.Items = new EnumWindowsCollection();
114 | UnManagedMethods.EnumChildWindows(
115 | hWndParent,
116 | new EnumWindowsProc(this.WindowEnum), 0);
117 | }
118 |
119 | #region EnumWindows callback
120 |
121 | private int WindowEnum(
122 | IntPtr hWnd,
123 | int lParam)
124 | {
125 | return this.OnWindowEnum(hWnd) ? 1 : 0;
126 | }
127 |
128 | #endregion
129 |
130 | protected virtual bool OnWindowEnum(IntPtr hWnd)
131 | {
132 | Items.Add(hWnd);
133 | return true;
134 | }
135 | }
136 |
137 | #endregion EnumWindows
138 |
139 | #region EnumWindowsCollection
140 |
141 | public class EnumWindowsCollection : ReadOnlyCollectionBase
142 | {
143 | public void Add(IntPtr hWnd)
144 | {
145 | EnumWindowsItem item = new EnumWindowsItem(hWnd);
146 | InnerList.Add(item);
147 | }
148 |
149 | public EnumWindowsItem this[int index]
150 | {
151 | get
152 | {
153 | if ((index >= InnerList.Count) | (index < 0))
154 | throw new ArgumentOutOfRangeException();
155 |
156 | return (EnumWindowsItem)InnerList[index];
157 | }
158 | }
159 | }
160 |
161 | #endregion
162 |
163 | #region EnumWindowsItem
164 |
165 | public class EnumWindowsItem
166 | {
167 | #region Structures
168 |
169 | [StructLayout(LayoutKind.Sequential, Pack = 4)]
170 | private readonly struct RECT
171 | {
172 | public readonly int Left;
173 | public readonly int Top;
174 | public readonly int Right;
175 | public readonly int Bottom;
176 | }
177 |
178 | [StructLayout(LayoutKind.Sequential, Pack = 4)]
179 | private readonly struct FLASHWINFO
180 | {
181 | private readonly int cbSize;
182 | private readonly IntPtr hwnd;
183 | private readonly int dwFlags;
184 | private readonly int uCount;
185 | private readonly int dwTimeout;
186 | }
187 |
188 | #endregion
189 |
190 | #region UnManagedMethods
191 |
192 | private class UnManagedMethods
193 | {
194 | [DllImport("user32")]
195 | public static extern int IsWindowVisible(
196 | IntPtr hWnd);
197 |
198 | [DllImport("user32", CharSet = CharSet.Auto)]
199 | public static extern int GetWindowText(
200 | IntPtr hWnd,
201 | StringBuilder lpString,
202 | int cch);
203 |
204 | [DllImport("user32", CharSet = CharSet.Auto)]
205 | public static extern int GetWindowTextLength(
206 | IntPtr hWnd);
207 |
208 | [DllImport("user32")]
209 | public static extern int BringWindowToTop(IntPtr hWnd);
210 |
211 | [DllImport("user32")]
212 | public static extern int SetForegroundWindow(IntPtr hWnd);
213 |
214 | [DllImport("user32")]
215 | public static extern int IsIconic(IntPtr hWnd);
216 |
217 | [DllImport("user32")]
218 | public static extern int IsZoomed(IntPtr hwnd);
219 |
220 | [DllImport("user32", CharSet = CharSet.Auto)]
221 | public static extern int GetClassName(
222 | IntPtr hWnd,
223 | StringBuilder lpClassName,
224 | int nMaxCount);
225 |
226 | [DllImport("user32")]
227 | public static extern int FlashWindow(
228 | IntPtr hWnd,
229 | ref FLASHWINFO pwfi);
230 |
231 | [DllImport("user32")]
232 | public static extern int GetWindowRect(
233 | IntPtr hWnd,
234 | ref RECT lpRect);
235 |
236 | [DllImport("user32", CharSet = CharSet.Auto)]
237 | public static extern int SendMessage(
238 | IntPtr hWnd,
239 | int wMsg,
240 | IntPtr wParam,
241 | IntPtr lParam);
242 |
243 | [DllImport("user32", CharSet = CharSet.Auto)]
244 | public static extern uint GetWindowLong(
245 | IntPtr hwnd,
246 | int nIndex);
247 |
248 | public const int WM_COMMAND = 0x111;
249 | public const int WM_SYSCOMMAND = 0x112;
250 |
251 | public const int SC_RESTORE = 0xF120;
252 | public const int SC_CLOSE = 0xF060;
253 | public const int SC_MAXIMIZE = 0xF030;
254 | public const int SC_MINIMIZE = 0xF020;
255 |
256 | public const int GWL_STYLE = (-16);
257 | public const int GWL_EXSTYLE = (-20);
258 |
259 | public const int FLASHW_STOP = 0;
260 | public const int FLASHW_CAPTION = 0x00000001;
261 | public const int FLASHW_TRAY = 0x00000002;
262 | public const int FLASHW_ALL = (FLASHW_CAPTION | FLASHW_TRAY);
263 | public const int FLASHW_TIMER = 0x00000004;
264 | public const int FLASHW_TIMERNOFG = 0x0000000C;
265 | }
266 |
267 | #endregion
268 |
269 | private readonly IntPtr hWnd = IntPtr.Zero;
270 |
271 | public override Int32 GetHashCode()
272 | {
273 | return (Int32)this.hWnd;
274 | }
275 |
276 | public IntPtr Handle
277 | {
278 | get
279 | {
280 | return this.hWnd;
281 | }
282 | }
283 |
284 | public string Text
285 | {
286 | get
287 | {
288 | StringBuilder title = new StringBuilder(260, 260);
289 | UnManagedMethods.GetWindowText(this.hWnd, title, title.Capacity);
290 | return title.ToString();
291 | }
292 | }
293 |
294 | public string ClassName
295 | {
296 | get
297 | {
298 | StringBuilder className = new StringBuilder(260, 260);
299 | UnManagedMethods.GetClassName(this.hWnd, className, className.Capacity);
300 | return className.ToString();
301 | }
302 | }
303 |
304 | public bool Iconic
305 | {
306 | get
307 | {
308 | return (UnManagedMethods.IsIconic(this.hWnd) != 0);
309 | }
310 | set
311 | {
312 | UnManagedMethods.SendMessage(
313 | this.hWnd,
314 | UnManagedMethods.WM_SYSCOMMAND,
315 | (IntPtr)UnManagedMethods.SC_MINIMIZE,
316 | IntPtr.Zero);
317 | }
318 | }
319 |
320 | public bool Maximised
321 | {
322 | get
323 | {
324 | return (UnManagedMethods.IsZoomed(this.hWnd) != 0);
325 | }
326 | set
327 | {
328 | UnManagedMethods.SendMessage(
329 | this.hWnd,
330 | UnManagedMethods.WM_SYSCOMMAND,
331 | (IntPtr)UnManagedMethods.SC_MAXIMIZE,
332 | IntPtr.Zero);
333 | }
334 | }
335 |
336 | public bool Visible
337 | {
338 | get
339 | {
340 | return (UnManagedMethods.IsWindowVisible(this.hWnd) != 0);
341 | }
342 | }
343 |
344 | public Rectangle Rect
345 | {
346 | get
347 | {
348 | RECT rc = new RECT();
349 | UnManagedMethods.GetWindowRect(
350 | this.hWnd,
351 | ref rc);
352 | Rectangle rcRet = new Rectangle(
353 | rc.Left, rc.Top,
354 | rc.Right - rc.Left, rc.Bottom - rc.Top);
355 | return rcRet;
356 | }
357 | }
358 |
359 | public Point Location
360 | {
361 | get
362 | {
363 | Rectangle rc = Rect;
364 | Point pt = new Point(
365 | rc.Left,
366 | rc.Top);
367 | return pt;
368 | }
369 | }
370 |
371 | public Size Size
372 | {
373 | get
374 | {
375 | Rectangle rc = Rect;
376 | Size sz = new Size(
377 | rc.Right - rc.Left,
378 | rc.Bottom - rc.Top);
379 | return sz;
380 | }
381 | }
382 |
383 | public void Restore()
384 | {
385 | if (Iconic)
386 | {
387 | UnManagedMethods.SendMessage(
388 | this.hWnd,
389 | UnManagedMethods.WM_SYSCOMMAND,
390 | (IntPtr)UnManagedMethods.SC_RESTORE,
391 | IntPtr.Zero);
392 | }
393 | UnManagedMethods.BringWindowToTop(this.hWnd);
394 | UnManagedMethods.SetForegroundWindow(this.hWnd);
395 | }
396 |
397 | public WindowStyleFlags WindowStyle
398 | {
399 | get
400 | {
401 | return (WindowStyleFlags)UnManagedMethods.GetWindowLong(
402 | this.hWnd, UnManagedMethods.GWL_STYLE);
403 | }
404 | }
405 |
406 | public ExtendedWindowStyleFlags ExtendedWindowStyle
407 | {
408 | get
409 | {
410 | return (ExtendedWindowStyleFlags)UnManagedMethods.GetWindowLong(
411 | this.hWnd, UnManagedMethods.GWL_EXSTYLE);
412 | }
413 | }
414 |
415 | public EnumWindowsItem(IntPtr hWnd)
416 | {
417 | this.hWnd = hWnd;
418 | }
419 | }
420 |
421 | #endregion
422 |
423 | #endregion
424 | }
--------------------------------------------------------------------------------
/Forms/FormVersion.de.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | Schließen
122 |
123 |
124 |
125 |
126 | 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
205 |
206 |
207 |
--------------------------------------------------------------------------------
/Forms/FormTextInput.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 | System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
122 |
123 |
124 |
125 | 3
126 |
127 |
128 | 0
129 |
130 |
131 |
132 | Tahoma, 8.25pt
133 |
134 |
135 | 272, 26
136 |
137 |
138 | True
139 |
140 |
141 | checkBoxForceName
142 |
143 |
144 |
145 | Top, Left, Right
146 |
147 |
148 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
149 |
150 |
151 | 128, 70
152 |
153 |
154 | Top, Left, Right
155 |
156 |
157 | 4
158 |
159 |
160 | 6, 13
161 |
162 |
163 | 0
164 |
165 |
166 | 1
167 |
168 |
169 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
170 |
171 |
172 | 3
173 |
174 |
175 | Bottom, Left
176 |
177 |
178 | 12, 74
179 |
180 |
181 | FormTextInput
182 |
183 |
184 | $this
185 |
186 |
187 | 82, 17
188 |
189 |
190 | System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
191 |
192 |
193 | Force name
194 |
195 |
196 | $this
197 |
198 |
199 | 0
200 |
201 |
202 | $this
203 |
204 |
205 | 312, 144
206 |
207 |
208 | System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
209 |
210 |
211 | $this
212 |
213 |
214 | 272, 21
215 |
216 |
217 | 12, 38
218 |
219 |
220 | 209, 70
221 |
222 |
223 | Bottom, Right
224 |
225 |
226 | 75, 23
227 |
228 |
229 | 12, 9
230 |
231 |
232 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
233 |
234 |
235 | CenterParent
236 |
237 |
238 | 2
239 |
240 |
241 | 312, 144
242 |
243 |
244 | $this
245 |
246 |
247 | buttonCancel
248 |
249 |
250 | Bottom, Right
251 |
252 |
253 | labelDescription
254 |
255 |
256 | Cancel
257 |
258 |
259 | 2
260 |
261 |
262 | 296, 105
263 |
264 |
265 | buttonOK
266 |
267 |
268 | 75, 23
269 |
270 |
271 | BottomLeft
272 |
273 |
274 | textBoxInput
275 |
276 |
277 | OK
278 |
279 |
280 | 1
281 |
282 |
283 | True
284 |
285 |
--------------------------------------------------------------------------------
/Forms/FormVersion.resx:
--------------------------------------------------------------------------------
1 |
2 |
3 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 | text/microsoft-resx
110 |
111 |
112 | 2.0
113 |
114 |
115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
116 |
117 |
118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
119 |
120 |
121 |
122 | TopRight
123 |
124 |
125 | 209, 118
126 |
127 |
128 | TopRight
129 |
130 |
131 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
132 |
133 |
134 | labelBuild
135 |
136 |
137 |
138 | 0
139 |
140 |
141 | $this
142 |
143 |
144 | FormVersion
145 |
146 |
147 | TopRight
148 |
149 |
150 | 180, 13
151 |
152 |
153 | System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
154 |
155 |
156 | $this
157 |
158 |
159 | 2
160 |
161 |
162 | 114, 63
163 |
164 |
165 |
166 | NoControl
167 |
168 |
169 | 6, 13
170 |
171 |
172 | 0
173 |
174 |
175 | 12, 12
176 |
177 |
178 | 114, 25
179 |
180 |
181 | NoControl
182 |
183 |
184 | pictureBoxK
185 |
186 |
187 |
188 |
189 |
190 | 5
191 |
192 |
193 | System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
194 |
195 |
196 | 0
197 |
198 |
199 | 180, 13
200 |
201 |
202 | 180, 13
203 |
204 |
205 | Version
206 |
207 |
208 | $this
209 |
210 |
211 | 1
212 |
213 |
214 | Close
215 |
216 |
217 | 3
218 |
219 |
220 | 296, 153
221 |
222 |
223 | $this
224 |
225 |
226 | System.Windows.Forms.PictureBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
227 |
228 |
229 | TopRight
230 |
231 |
232 | labelCompany
233 |
234 |
235 | 312, 192
236 |
237 |
238 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
239 |
240 |
241 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
242 |
243 |
244 | 180, 13
245 |
246 |
247 |
248 |
249 |
250 | Tahoma, 8.25pt
251 |
252 |
253 |
254 | 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
333 |
334 |
335 |
336 | 114, 76
337 |
338 |
339 | Tahoma, 8.25pt, style=Underline
340 |
341 |
342 | CenterParent
343 |
344 |
345 | $this
346 |
347 |
348 | 312, 192
349 |
350 |
351 | 4
352 |
353 |
354 | 114, 12
355 |
356 |
357 | 0
358 |
359 |
360 | 96, 64
361 |
362 |
363 | 0
364 |
365 |
366 | 75, 23
367 |
368 |
369 | buttonClose
370 |
371 |
372 | System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
373 |
374 |
375 | Bottom, Right
376 |
377 |
378 | 1
379 |
380 |
381 | labelWebsite
382 |
383 |
384 | $this
385 |
386 |
387 | 0
388 |
389 |
390 | labelProduct
391 |
392 |
393 | True
394 |
395 |
--------------------------------------------------------------------------------