From 2faf51dcebf41598e975f16438fd15056a4aabec Mon Sep 17 00:00:00 2001 From: Noxyntious <noxy@noxyntious.xyz> Date: Wed, 18 Jan 2023 22:09:40 +0100 Subject: [PATCH] two alpha i guess ?? --- SHitSHell/SHitDock.Designer.vb | 101 ++++++++++++++++++++++ SHitSHell/SHitDock.resx | 120 +++++++++++++++++++++++++++ SHitSHell/SHitDock.vb | 42 ++++++++++ SHitSHell/SHitLauncher.Designer.vb | 54 ++++++++++++ SHitSHell/SHitLauncher.resx | 120 +++++++++++++++++++++++++++ SHitSHell/SHitLauncher.vb | 40 +++++++++ SHitSHell/SHitSHell.Designer.vb | 55 ++---------- SHitSHell/SHitSHell.vb | 86 +++++++++---------- SHitSHell/SHitSHell.vbproj | 27 ++++++ SHitSHell/ShutdownPrompt.Designer.vb | 76 +++++++++++++++++ SHitSHell/ShutdownPrompt.resx | 120 +++++++++++++++++++++++++++ SHitSHell/ShutdownPrompt.vb | 15 ++++ 12 files changed, 768 insertions(+), 88 deletions(-) create mode 100644 SHitSHell/SHitDock.Designer.vb create mode 100644 SHitSHell/SHitDock.resx create mode 100644 SHitSHell/SHitDock.vb create mode 100644 SHitSHell/SHitLauncher.Designer.vb create mode 100644 SHitSHell/SHitLauncher.resx create mode 100644 SHitSHell/SHitLauncher.vb create mode 100644 SHitSHell/ShutdownPrompt.Designer.vb create mode 100644 SHitSHell/ShutdownPrompt.resx create mode 100644 SHitSHell/ShutdownPrompt.vb diff --git a/SHitSHell/SHitDock.Designer.vb b/SHitSHell/SHitDock.Designer.vb new file mode 100644 index 0000000..eec1629 --- /dev/null +++ b/SHitSHell/SHitDock.Designer.vb @@ -0,0 +1,101 @@ +<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> +Partial Class SHitDock + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + <System.Diagnostics.DebuggerNonUserCode()> + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + <System.Diagnostics.DebuggerStepThrough()> + Private Sub InitializeComponent() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.Button3 = New System.Windows.Forms.Button() + Me.Button4 = New System.Windows.Forms.Button() + Me.Button5 = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(82, 12) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(64, 60) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "Settings" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button2 + ' + Me.Button2.Location = New System.Drawing.Point(12, 12) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(64, 60) + Me.Button2.TabIndex = 1 + Me.Button2.Text = "Explorer" + Me.Button2.UseVisualStyleBackColor = True + ' + 'Button3 + ' + Me.Button3.Location = New System.Drawing.Point(152, 12) + Me.Button3.Name = "Button3" + Me.Button3.Size = New System.Drawing.Size(64, 60) + Me.Button3.TabIndex = 2 + Me.Button3.Text = "Internet" + Me.Button3.UseVisualStyleBackColor = True + ' + 'Button4 + ' + Me.Button4.Location = New System.Drawing.Point(222, 12) + Me.Button4.Name = "Button4" + Me.Button4.Size = New System.Drawing.Size(64, 60) + Me.Button4.TabIndex = 3 + Me.Button4.Text = "Command Prompt" + Me.Button4.UseVisualStyleBackColor = True + ' + 'Button5 + ' + Me.Button5.Location = New System.Drawing.Point(724, 12) + Me.Button5.Name = "Button5" + Me.Button5.Size = New System.Drawing.Size(64, 60) + Me.Button5.TabIndex = 4 + Me.Button5.Text = "Shutdown" + Me.Button5.UseVisualStyleBackColor = True + ' + 'SHitDock + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.ClientSize = New System.Drawing.Size(800, 84) + Me.Controls.Add(Me.Button5) + Me.Controls.Add(Me.Button4) + Me.Controls.Add(Me.Button3) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Button1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "SHitDock" + Me.Text = " SHitDock" + Me.TopMost = True + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents Button3 As Button + Friend WithEvents Button4 As Button + Friend WithEvents Button5 As Button +End Class diff --git a/SHitSHell/SHitDock.resx b/SHitSHell/SHitDock.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SHitSHell/SHitDock.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/SHitSHell/SHitDock.vb b/SHitSHell/SHitDock.vb new file mode 100644 index 0000000..0a5ff83 --- /dev/null +++ b/SHitSHell/SHitDock.vb @@ -0,0 +1,42 @@ +Public Class SHitDock + Private Sub SHitDock_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Dim working_area As Rectangle = +SystemInformation.WorkingArea + Dim x As Integer = + working_area.Left + + working_area.Width - + Me.Width + Dim y As Integer = + working_area.Top + + working_area.Height - + Me.Height + Me.Location = New Point(x / 2, y + 40) + Me.TopMost = True + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + + Try + Process.Start("ms-settings:") + Catch + MsgBox("This feature only works on Windows 8 or later.", MsgBoxStyle.Critical, "Exception") + End Try + + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Process.Start("explorer.exe") + End Sub + + Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click + Process.Start("https://google.com") + End Sub + + Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click + ShutdownPrompt.Show() + End Sub + + Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click + Process.Start("cmd.exe") + End Sub +End Class \ No newline at end of file diff --git a/SHitSHell/SHitLauncher.Designer.vb b/SHitSHell/SHitLauncher.Designer.vb new file mode 100644 index 0000000..a6f6a1f --- /dev/null +++ b/SHitSHell/SHitLauncher.Designer.vb @@ -0,0 +1,54 @@ +<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class SHitLauncher + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + <System.Diagnostics.DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + <System.Diagnostics.DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.ComboBox1 = New System.Windows.Forms.ComboBox() + Me.SuspendLayout() + ' + 'ComboBox1 + ' + Me.ComboBox1.BackColor = System.Drawing.Color.White + Me.ComboBox1.FlatStyle = System.Windows.Forms.FlatStyle.System + Me.ComboBox1.FormattingEnabled = True + Me.ComboBox1.Items.AddRange(New Object() {"Add to Startup", "Credits", "Exit"}) + Me.ComboBox1.Location = New System.Drawing.Point(12, 9) + Me.ComboBox1.Name = "ComboBox1" + Me.ComboBox1.Size = New System.Drawing.Size(121, 21) + Me.ComboBox1.TabIndex = 0 + ' + 'SHitLauncher + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) + Me.ClientSize = New System.Drawing.Size(274, 39) + Me.Controls.Add(Me.ComboBox1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None + Me.Name = "SHitLauncher" + Me.Text = "SHitLauncher" + Me.ResumeLayout(False) + + End Sub + + Friend WithEvents ComboBox1 As ComboBox +End Class diff --git a/SHitSHell/SHitLauncher.resx b/SHitSHell/SHitLauncher.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SHitSHell/SHitLauncher.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/SHitSHell/SHitLauncher.vb b/SHitSHell/SHitLauncher.vb new file mode 100644 index 0000000..65e6f10 --- /dev/null +++ b/SHitSHell/SHitLauncher.vb @@ -0,0 +1,40 @@ +Imports IWshRuntimeLibrary +Public Class SHitLauncher + Private Sub SHitLauncher_Load(sender As Object, e As EventArgs) Handles MyBase.Load + Dim working_area As Rectangle = +SystemInformation.WorkingArea + Dim x As Integer = + working_area.Left + + working_area.Width - + Me.Width + Dim y As Integer = + working_area.Top + + working_area.Height - + Me.Height + Me.Location = New Point(0, 0) + Me.TopMost = True + End Sub + + Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged + 'Checks the combobox for a string, then runs a process based on the selected string. TIP: For things like this, it's best to use buttons with pretty icons. + + If ComboBox1.Text = "Exit" Then + SHitSHell.Close() + ComboBox1.Text = "" + ElseIf ComboBox1.Text = "Add to Startup" Then + Dim WshShell As WshShell = New WshShell() + Dim ShortcutPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(System.IO.Path.Combine(ShortcutPath, Application.ProductName) & ".lnk"), IWshShortcut) + Shortcut.TargetPath = Application.ExecutablePath + Shortcut.WorkingDirectory = Application.StartupPath + Shortcut.Description = "SHitSHell" + Shortcut.Save() + MsgBox("SHitSHell has been added to the Startup folder.", MsgBoxStyle.Information, "Information") + ComboBox1.Text = "" + ElseIf ComboBox1.Text = "Credits" Then + MsgBox("Noxyntious - almost everything" + vbCrLf + "WindowsLogic - add to startup, other things", MsgBoxStyle.Information, "Credits") + ComboBox1.Text = "" + End If + Exit Sub + End Sub +End Class \ No newline at end of file diff --git a/SHitSHell/SHitSHell.Designer.vb b/SHitSHell/SHitSHell.Designer.vb index dfaaf01..bc1b170 100644 --- a/SHitSHell/SHitSHell.Designer.vb +++ b/SHitSHell/SHitSHell.Designer.vb @@ -23,62 +23,32 @@ Partial Class SHitSHell <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() - Me.ComboBox1 = New System.Windows.Forms.ComboBox() - Me.Button1 = New System.Windows.Forms.Button() - Me.Button2 = New System.Windows.Forms.Button() Me.TextBox1 = New System.Windows.Forms.TextBox() Me.TextBox2 = New System.Windows.Forms.TextBox() Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.SuspendLayout() ' - 'ComboBox1 - ' - Me.ComboBox1.BackColor = System.Drawing.Color.White - Me.ComboBox1.FormattingEnabled = True - Me.ComboBox1.Items.AddRange(New Object() {"Explorer", "Command Prompt", "Notepad", "Internet", "Control Panel", "Settings (Windows 10)"}) - Me.ComboBox1.Location = New System.Drawing.Point(12, 5) - Me.ComboBox1.Name = "ComboBox1" - Me.ComboBox1.Size = New System.Drawing.Size(121, 21) - Me.ComboBox1.TabIndex = 0 - ' - 'Button1 - ' - Me.Button1.Cursor = System.Windows.Forms.Cursors.Default - Me.Button1.Location = New System.Drawing.Point(139, 4) - Me.Button1.Name = "Button1" - Me.Button1.Size = New System.Drawing.Size(120, 21) - Me.Button1.TabIndex = 1 - Me.Button1.Text = "Exit" - Me.Button1.UseVisualStyleBackColor = True - ' - 'Button2 - ' - Me.Button2.Location = New System.Drawing.Point(265, 4) - Me.Button2.Name = "Button2" - Me.Button2.Size = New System.Drawing.Size(120, 21) - Me.Button2.TabIndex = 2 - Me.Button2.Text = "Launch at Startup" - Me.Button2.UseVisualStyleBackColor = True - ' 'TextBox1 ' Me.TextBox1.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) - Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None Me.TextBox1.ForeColor = System.Drawing.Color.White - Me.TextBox1.Location = New System.Drawing.Point(391, 4) + Me.TextBox1.Location = New System.Drawing.Point(12, 12) Me.TextBox1.Name = "TextBox1" - Me.TextBox1.Size = New System.Drawing.Size(120, 20) + Me.TextBox1.Size = New System.Drawing.Size(120, 13) Me.TextBox1.TabIndex = 3 + Me.TextBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'TextBox2 ' Me.TextBox2.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) - Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None Me.TextBox2.ForeColor = System.Drawing.Color.White - Me.TextBox2.Location = New System.Drawing.Point(517, 4) + Me.TextBox2.Location = New System.Drawing.Point(143, 12) Me.TextBox2.Name = "TextBox2" - Me.TextBox2.Size = New System.Drawing.Size(120, 20) + Me.TextBox2.Size = New System.Drawing.Size(120, 13) Me.TextBox2.TabIndex = 4 + Me.TextBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center ' 'Timer1 ' @@ -88,12 +58,9 @@ Partial Class SHitSHell Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer), CType(CType(64, Byte), Integer)) - Me.ClientSize = New System.Drawing.Size(644, 30) + Me.ClientSize = New System.Drawing.Size(275, 38) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1) - Me.Controls.Add(Me.Button2) - Me.Controls.Add(Me.Button1) - Me.Controls.Add(Me.ComboBox1) Me.Cursor = System.Windows.Forms.Cursors.Default Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None Me.Name = "SHitSHell" @@ -103,10 +70,6 @@ Partial Class SHitSHell Me.PerformLayout() End Sub - - Friend WithEvents ComboBox1 As ComboBox - Friend WithEvents Button1 As Button - Friend WithEvents Button2 As Button Friend WithEvents TextBox1 As TextBox Friend WithEvents TextBox2 As TextBox Friend WithEvents Timer1 As Timer diff --git a/SHitSHell/SHitSHell.vb b/SHitSHell/SHitSHell.vb index 904529b..ae225ca 100644 --- a/SHitSHell/SHitSHell.vb +++ b/SHitSHell/SHitSHell.vb @@ -3,8 +3,9 @@ Public Class SHitSHell Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load + SHitDock.Show() + SHitLauncher.Show() ' thanks, shady ass website!! :) - Dim working_area As Rectangle = SystemInformation.WorkingArea Dim x As Integer = @@ -15,7 +16,7 @@ Public Class SHitSHell working_area.Top + working_area.Height - Me.Height - Me.Location = New Point(x, y + 39) + Me.Location = New Point(x, 0) ' prepare for maximum jank Timer1.Enabled = True TextBox1.Text = Format(Now, "hh:mm:ss") @@ -25,55 +26,56 @@ Public Class SHitSHell End Sub - Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged - - 'Checks the combobox for a string, then runs a process based on the selected string. TIP: For things like this, it's best to use buttons with pretty icons. + 'Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged + ' 'Checks the combobox for a string, then runs a process based on the selected string. TIP: For things like this, it's best to use buttons with pretty icons. - If ComboBox1.Text = "Explorer" Then - Process.Start("explorer.exe") - ComboBox1.Text = "" - ElseIf ComboBox1.Text = "Command Prompt" Then - Process.Start("cmd.exe") - ComboBox1.Text = "" - ElseIf ComboBox1.Text = "Notepad" Then - Process.Start("notepad.exe") - ComboBox1.Text = "" - ElseIf ComboBox1.Text = "Internet" Then - Process.Start("http://google.com") - ComboBox1.Text = "" - ElseIf ComboBox1.Text = "Control Panel" Then - Process.Start("control.exe") - ComboBox1.Text = "" - ElseIf ComboBox1.Text = "Settings (Windows 10)" Then + ' If ComboBox1.Text = "Explorer" Then + ' Process.Start("explorer.exe") + ' ComboBox1.Text = "" + ' ElseIf ComboBox1.Text = "Command Prompt" Then + ' Process.Start("cmd.exe") + ' ComboBox1.Text = "" + ' ElseIf ComboBox1.Text = "Notepad" Then + ' Process.Start("notepad.exe") + ' ComboBox1.Text = "" + ' ElseIf ComboBox1.Text = "Internet" Then + ' Process.Start("http://google.com") + ' ComboBox1.Text = "" + ' ElseIf ComboBox1.Text = "Control Panel" Then + ' Process.Start("control.exe") + ' ComboBox1.Text = "" + ' ElseIf ComboBox1.Text = "Settings (Windows 10)" Then - Try - Process.Start("ms-settings:") - ComboBox1.Text = "" - Catch - MsgBox("This feature only works on Windows 8 or later.", MsgBoxStyle.Critical, "Exception") - End Try + ' Try + ' Process.Start("ms-settings:") + ' ComboBox1.Text = "" + ' Catch + ' MsgBox("This feature only works on Windows 8 or later.", MsgBoxStyle.Critical, "Exception") + ' End Try - End If - Exit Sub - End Sub + ' End If + ' Exit Sub + 'End Sub + 'To hell with this shit - Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Private Sub Button1_Click(sender As Object, e As EventArgs) Me.Close() End Sub - Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + 'Private Sub Button2_Click(sender As Object, e As EventArgs) - 'Adds the application to the Startup folder. + ' 'Adds the application to the Startup folder. - Dim WshShell As WshShell = New WshShell() - Dim ShortcutPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) - Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(System.IO.Path.Combine(ShortcutPath, Application.ProductName) & ".lnk"), IWshShortcut) - Shortcut.TargetPath = Application.ExecutablePath - Shortcut.WorkingDirectory = Application.StartupPath - Shortcut.Description = "SHitSHell" - Shortcut.Save() - MsgBox("SHitSHell has been added to the Startup folder.", MsgBoxStyle.Information, "Information") - End Sub + ' Dim WshShell As WshShell = New WshShell() + ' Dim ShortcutPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Startup) + ' Dim Shortcut As IWshShortcut = CType(WshShell.CreateShortcut(System.IO.Path.Combine(ShortcutPath, Application.ProductName) & ".lnk"), IWshShortcut) + ' Shortcut.TargetPath = Application.ExecutablePath + ' Shortcut.WorkingDirectory = Application.StartupPath + ' Shortcut.Description = "SHitSHell" + ' Shortcut.Save() + ' MsgBox("SHitSHell has been added to the Startup folder.", MsgBoxStyle.Information, "Information") + 'End Sub + 'button doesnt exist anymore Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick TextBox1.Text = TimeString diff --git a/SHitSHell/SHitSHell.vbproj b/SHitSHell/SHitSHell.vbproj index 3b5d750..ec5aa67 100644 --- a/SHitSHell/SHitSHell.vbproj +++ b/SHitSHell/SHitSHell.vbproj @@ -88,6 +88,18 @@ <Import Include="System.Threading.Tasks" /> </ItemGroup> <ItemGroup> + <Compile Include="SHitDock.Designer.vb"> + <DependentUpon>SHitDock.vb</DependentUpon> + </Compile> + <Compile Include="SHitDock.vb"> + <SubType>Form</SubType> + </Compile> + <Compile Include="SHitLauncher.Designer.vb"> + <DependentUpon>SHitLauncher.vb</DependentUpon> + </Compile> + <Compile Include="SHitLauncher.vb"> + <SubType>Form</SubType> + </Compile> <Compile Include="SHitSHell.vb"> <SubType>Form</SubType> </Compile> @@ -110,8 +122,20 @@ <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> + <Compile Include="ShutdownPrompt.Designer.vb"> + <DependentUpon>ShutdownPrompt.vb</DependentUpon> + </Compile> + <Compile Include="ShutdownPrompt.vb"> + <SubType>Form</SubType> + </Compile> </ItemGroup> <ItemGroup> + <EmbeddedResource Include="SHitDock.resx"> + <DependentUpon>SHitDock.vb</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="SHitLauncher.resx"> + <DependentUpon>SHitLauncher.vb</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="SHitSHell.resx"> <DependentUpon>SHitSHell.vb</DependentUpon> </EmbeddedResource> @@ -121,6 +145,9 @@ <CustomToolNamespace>My.Resources</CustomToolNamespace> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="ShutdownPrompt.resx"> + <DependentUpon>ShutdownPrompt.vb</DependentUpon> + </EmbeddedResource> </ItemGroup> <ItemGroup> <None Include="My Project\Application.myapp"> diff --git a/SHitSHell/ShutdownPrompt.Designer.vb b/SHitSHell/ShutdownPrompt.Designer.vb new file mode 100644 index 0000000..25c49a5 --- /dev/null +++ b/SHitSHell/ShutdownPrompt.Designer.vb @@ -0,0 +1,76 @@ +<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class ShutdownPrompt + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + <System.Diagnostics.DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + <System.Diagnostics.DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.Button1 = New System.Windows.Forms.Button() + Me.Button2 = New System.Windows.Forms.Button() + Me.Label1 = New System.Windows.Forms.Label() + Me.SuspendLayout() + ' + 'Button1 + ' + Me.Button1.Location = New System.Drawing.Point(328, 63) + Me.Button1.Name = "Button1" + Me.Button1.Size = New System.Drawing.Size(75, 23) + Me.Button1.TabIndex = 0 + Me.Button1.Text = "No" + Me.Button1.UseVisualStyleBackColor = True + ' + 'Button2 + ' + Me.Button2.Location = New System.Drawing.Point(409, 63) + Me.Button2.Name = "Button2" + Me.Button2.Size = New System.Drawing.Size(75, 23) + Me.Button2.TabIndex = 1 + Me.Button2.Text = "Yes" + Me.Button2.UseVisualStyleBackColor = True + ' + 'Label1 + ' + Me.Label1.AutoSize = True + Me.Label1.Location = New System.Drawing.Point(12, 9) + Me.Label1.Name = "Label1" + Me.Label1.Size = New System.Drawing.Size(247, 13) + Me.Label1.TabIndex = 2 + Me.Label1.Text = "Are you sure you want to shut down the computer?" + ' + 'ShutdownPrompt + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(494, 97) + Me.Controls.Add(Me.Label1) + Me.Controls.Add(Me.Button2) + Me.Controls.Add(Me.Button1) + Me.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow + Me.Name = "ShutdownPrompt" + Me.Text = "Shutdown" + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + + Friend WithEvents Button1 As Button + Friend WithEvents Button2 As Button + Friend WithEvents Label1 As Label +End Class diff --git a/SHitSHell/ShutdownPrompt.resx b/SHitSHell/ShutdownPrompt.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/SHitSHell/ShutdownPrompt.resx @@ -0,0 +1,120 @@ +<?xml version="1.0" encoding="utf-8"?> +<root> + <!-- + Microsoft ResX Schema + + Version 2.0 + + The primary goals of this format is to allow a simple XML format + that is mostly human readable. The generation and parsing of the + various data types are done through the TypeConverter classes + associated with the data types. + + Example: + + ... ado.net/XML headers & schema ... + <resheader name="resmimetype">text/microsoft-resx</resheader> + <resheader name="version">2.0</resheader> + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> + <value>[base64 mime encoded serialized .NET Framework object]</value> + </data> + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> + <comment>This is a comment</comment> + </data> + + There are any number of "resheader" rows that contain simple + name/value pairs. + + Each data row contains a name, and value. The row also contains a + type or mimetype. Type corresponds to a .NET class that support + text/value conversion through the TypeConverter architecture. + Classes that don't support this are serialized and stored with the + mimetype set. + + The mimetype is used for serialized objects, and tells the + ResXResourceReader how to depersist the object. This is currently not + extensible. For a given mimetype the value must be set accordingly: + + Note - application/x-microsoft.net.object.binary.base64 is the format + that the ResXResourceWriter will generate, however the reader can + read any of the formats listed below. + + mimetype: application/x-microsoft.net.object.binary.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.soap.base64 + value : The object must be serialized with + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter + : and then encoded with base64 encoding. + + mimetype: application/x-microsoft.net.object.bytearray.base64 + value : The object must be serialized into a byte array + : using a System.ComponentModel.TypeConverter + : and then encoded with base64 encoding. + --> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <xsd:element name="metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" /> + </xsd:sequence> + <xsd:attribute name="name" use="required" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="assembly"> + <xsd:complexType> + <xsd:attribute name="alias" type="xsd:string" /> + <xsd:attribute name="name" type="xsd:string" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="data"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + <xsd:attribute ref="xml:space" /> + </xsd:complexType> + </xsd:element> + <xsd:element name="resheader"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> + </xsd:sequence> + <xsd:attribute name="name" type="xsd:string" use="required" /> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + </xsd:element> + </xsd:schema> + <resheader name="resmimetype"> + <value>text/microsoft-resx</value> + </resheader> + <resheader name="version"> + <value>2.0</value> + </resheader> + <resheader name="reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/SHitSHell/ShutdownPrompt.vb b/SHitSHell/ShutdownPrompt.vb new file mode 100644 index 0000000..f008418 --- /dev/null +++ b/SHitSHell/ShutdownPrompt.vb @@ -0,0 +1,15 @@ +Public Class ShutdownPrompt + Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click + + End Sub + + Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click + Me.Close() + End Sub + + Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click + Process.Start("cmd.exe") + MsgBox("Not implemented!") + Me.Close() + End Sub +End Class \ No newline at end of file