aboutsummaryrefslogtreecommitdiff
path: root/Histacom2/OS/Win95/Win95Apps
diff options
context:
space:
mode:
authorlempamo <[email protected]>2017-09-18 16:49:14 -0500
committerGitHub <[email protected]>2017-09-18 16:49:14 -0500
commit2d83155d9833a7ea1396ee62265f900be258a5eb (patch)
tree28c7cfc42927d9c340a5f17048a024227358fc5f /Histacom2/OS/Win95/Win95Apps
parent92495924b688faf93d37929a8dab27554ac78e4f (diff)
parent3188a4eac09bbcfb1dffaa2e001f1f76137ed1ac (diff)
downloadhistacom2-2d83155d9833a7ea1396ee62265f900be258a5eb.tar.gz
histacom2-2d83155d9833a7ea1396ee62265f900be258a5eb.tar.bz2
histacom2-2d83155d9833a7ea1396ee62265f900be258a5eb.zip
Merge pull request #161 from IBMPCDOS5/master
Added Error Blaster 95, see Description for details
Diffstat (limited to 'Histacom2/OS/Win95/Win95Apps')
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.Designer.cs112
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.cs75
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.resx136
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.Designer.cs106
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.cs65
-rw-r--r--Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.resx132
-rw-r--r--Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.Designer.cs2
-rw-r--r--Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.cs18
-rw-r--r--Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs21
9 files changed, 667 insertions, 0 deletions
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.Designer.cs b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.Designer.cs
new file mode 100644
index 0000000..6035a1a
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.Designer.cs
@@ -0,0 +1,112 @@
+namespace Histacom2.OS.Win95.Win95Apps._12padamViruses
+{
+ partial class ErrorBlaster95
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ErrorBlaster95));
+ this.classicButton1 = new Histacom2.Engine.UI.ClassicButton();
+ this.classicButton3 = new Histacom2.Engine.UI.ClassicButton();
+ this.label1 = new System.Windows.Forms.Label();
+ this.classicButton2 = new Histacom2.Engine.UI.ClassicButton();
+ this.SuspendLayout();
+ //
+ // classicButton1
+ //
+ this.classicButton1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.classicButton1.BackColor = System.Drawing.Color.Silver;
+ this.classicButton1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton1.ForeColor = System.Drawing.Color.Black;
+ this.classicButton1.Location = new System.Drawing.Point(16, 219);
+ this.classicButton1.Name = "classicButton1";
+ this.classicButton1.Size = new System.Drawing.Size(73, 38);
+ this.classicButton1.TabIndex = 18;
+ this.classicButton1.Text = "Infect";
+ this.classicButton1.Click += new System.EventHandler(this.classicButton1_Click);
+ //
+ // classicButton3
+ //
+ this.classicButton3.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.classicButton3.BackColor = System.Drawing.Color.Silver;
+ this.classicButton3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton3.ForeColor = System.Drawing.Color.Black;
+ this.classicButton3.Location = new System.Drawing.Point(353, 219);
+ this.classicButton3.Name = "classicButton3";
+ this.classicButton3.Size = new System.Drawing.Size(75, 38);
+ this.classicButton3.TabIndex = 20;
+ this.classicButton3.Text = "Exit";
+ this.classicButton3.Click += new System.EventHandler(this.classicButton3_Click);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(11, 2);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(423, 169);
+ this.label1.TabIndex = 21;
+ this.label1.Text = resources.GetString("label1.Text");
+ //
+ // classicButton2
+ //
+ this.classicButton2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.classicButton2.BackColor = System.Drawing.Color.Silver;
+ this.classicButton2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton2.ForeColor = System.Drawing.Color.Black;
+ this.classicButton2.Location = new System.Drawing.Point(95, 219);
+ this.classicButton2.Name = "classicButton2";
+ this.classicButton2.Size = new System.Drawing.Size(75, 38);
+ this.classicButton2.TabIndex = 19;
+ this.classicButton2.Text = "Remove";
+ this.classicButton2.Click += new System.EventHandler(this.classicButton2_Click);
+ //
+ // ErrorBlaster95
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.BackColor = System.Drawing.Color.Silver;
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.classicButton3);
+ this.Controls.Add(this.classicButton2);
+ this.Controls.Add(this.classicButton1);
+ this.Name = "ErrorBlaster95";
+ this.Size = new System.Drawing.Size(447, 265);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private Engine.UI.ClassicButton classicButton1;
+ private Engine.UI.ClassicButton classicButton3;
+ private System.Windows.Forms.Label label1;
+ private Engine.UI.ClassicButton classicButton2;
+ }
+}
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.cs b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.cs
new file mode 100644
index 0000000..3d6f064
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.cs
@@ -0,0 +1,75 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Histacom2.Engine;
+using System.Drawing.Text;
+using static Histacom2.Engine.SaveSystem;
+
+namespace Histacom2.OS.Win95.Win95Apps._12padamViruses
+{
+ public partial class ErrorBlaster95 : UserControl
+ {
+ Timer messageGen = new Timer();
+ Random messageChooser = new Random();
+ WindowManager wm = new WindowManager();
+ private static PrivateFontCollection pfc = new PrivateFontCollection();
+ public ErrorBlaster95()
+ {
+ InitializeComponent();
+ messageGen.Interval = 3000;
+ messageGen.Tick += MessageGen_Tick;
+ pfc.AddFontFile(DataDirectory + "\\LeviWindows.ttf");
+ label1.Font=new Font(pfc.Families[0], 16F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));
+ }
+
+ private void MessageGen_Tick(object sender, EventArgs e)
+ {
+ int messageRandomizer = messageChooser.Next(1, 3);
+ switch (messageRandomizer)
+ {
+ case 1:
+ wm.StartInfobox95("Alert!", "A virus has been detected on your computer! Press OK to disinfect!", Engine.Template.InfoboxType.Error, Engine.Template.InfoboxButtons.OK);
+ messageGen.Interval -= 300;
+ break;
+
+ case 2:
+ wm.StartInfobox95("Microsoft Security Alert", "Microsoft says to install UltraSurpremeAntiVirus1998 to get rid of any viruses!", Engine.Template.InfoboxType.Info, Engine.Template.InfoboxButtons.OK);
+ messageGen.Interval -= 300;
+ break;
+ case 3:
+ wm.StartInfobox95("Error", "A BSOD.exe virus has been found on your computer!", Engine.Template.InfoboxType.Warning, Engine.Template.InfoboxButtons.OK);
+ messageGen.Interval -= 300;
+ break;
+ }
+ if (messageGen.Interval == 300)
+ {
+ messageGen.Stop();
+
+ BSODCreator bs = new BSODCreator();
+
+ bs.throw9XBSOD(true, BSODCreator.BSODCauses.Generic);
+ }
+ }
+
+ private void classicButton3_Click(object sender, EventArgs e)
+ {
+ ParentForm.Close();
+ }
+
+ private void classicButton1_Click(object sender, EventArgs e)
+ {
+ messageGen.Start();
+ }
+
+ private void classicButton2_Click(object sender, EventArgs e)
+ {
+ messageGen.Stop();
+ }
+ }
+}
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.resx b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.resx
new file mode 100644
index 0000000..71d9882
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/ErrorBlaster95.resx
@@ -0,0 +1,136 @@
+<?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>
+ <data name="label1.Text" xml:space="preserve">
+ <value>Virus Name: Virus.Win9x.ErrorBlaster
+Virus Type: Scareware/Memory Leak
+Purpose: To force the user into doing a specific type of action to remove the virus.
+Effect: Various infoboxes at random times will show up, alerting you about false
+infections until the user is forced to buy a rogue antivirus to "remove" the virus.
+
+Hey there, thanks for downloading this ErrorBlaster sample from my website!
+This virus can be very annoying and is very common.
+The infoboxes will show up at random, first showing anywhere from one to three seconds
+and will decrease every 300 milliseconds.
+
+Note: Clicking "Remove" will disinfect but will not remove the infoboxes opened.
+Warning: A BSOD will occur over elongated periods of use.
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.Designer.cs b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.Designer.cs
new file mode 100644
index 0000000..01ac2e2
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.Designer.cs
@@ -0,0 +1,106 @@
+namespace Histacom2.OS.Win95.Win95Apps._12padamsViruses
+{
+ partial class StartRunner95
+ {
+ /// <summary>
+ /// Required designer variable.
+ /// </summary>
+ private System.ComponentModel.IContainer components = null;
+
+ /// <summary>
+ /// Clean up any resources being used.
+ /// </summary>
+ /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ /// <summary>
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ /// </summary>
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(StartRunner95));
+ this.classicButton1 = new Histacom2.Engine.UI.ClassicButton();
+ this.classicButton2 = new Histacom2.Engine.UI.ClassicButton();
+ this.classicButton3 = new Histacom2.Engine.UI.ClassicButton();
+ this.label2 = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // classicButton1
+ //
+ this.classicButton1.BackColor = System.Drawing.Color.Silver;
+ this.classicButton1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton1.ForeColor = System.Drawing.Color.Black;
+ this.classicButton1.Location = new System.Drawing.Point(16, 168);
+ this.classicButton1.Name = "classicButton1";
+ this.classicButton1.Size = new System.Drawing.Size(75, 23);
+ this.classicButton1.TabIndex = 11;
+ this.classicButton1.Text = "Infect";
+ this.classicButton1.Click += new System.EventHandler(this.classicButton1_Click);
+ //
+ // classicButton2
+ //
+ this.classicButton2.BackColor = System.Drawing.Color.Silver;
+ this.classicButton2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton2.ForeColor = System.Drawing.Color.Black;
+ this.classicButton2.Location = new System.Drawing.Point(97, 168);
+ this.classicButton2.Name = "classicButton2";
+ this.classicButton2.Size = new System.Drawing.Size(75, 23);
+ this.classicButton2.TabIndex = 12;
+ this.classicButton2.Text = "Remove";
+ this.classicButton2.Click += new System.EventHandler(this.classicButton2_Click);
+ //
+ // classicButton3
+ //
+ this.classicButton3.BackColor = System.Drawing.Color.Silver;
+ this.classicButton3.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F);
+ this.classicButton3.ForeColor = System.Drawing.Color.Black;
+ this.classicButton3.Location = new System.Drawing.Point(293, 168);
+ this.classicButton3.Name = "classicButton3";
+ this.classicButton3.Size = new System.Drawing.Size(75, 23);
+ this.classicButton3.TabIndex = 13;
+ this.classicButton3.Text = "Exit";
+ this.classicButton3.Click += new System.EventHandler(this.classicButton3_Click);
+ //
+ // label2
+ //
+ this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(13, 23);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(355, 117);
+ this.label2.TabIndex = 10;
+ this.label2.Text = resources.GetString("label2.Text");
+ //
+ // StartRunner95
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.classicButton3);
+ this.Controls.Add(this.classicButton2);
+ this.Controls.Add(this.classicButton1);
+ this.Controls.Add(this.label2);
+ this.Name = "StartRunner95";
+ this.Size = new System.Drawing.Size(383, 208);
+ this.Load += new System.EventHandler(this.StartRunner95_Load);
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+ private Engine.UI.ClassicButton classicButton1;
+ private Engine.UI.ClassicButton classicButton2;
+ private Engine.UI.ClassicButton classicButton3;
+ internal System.Windows.Forms.Label label2;
+ }
+}
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.cs b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.cs
new file mode 100644
index 0000000..579f001
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using Histacom2.Engine;
+using System.Drawing.Text;
+using static Histacom2.Engine.SaveSystem;
+using Histacom2.OS.Win95;
+
+namespace Histacom2.OS.Win95.Win95Apps._12padamsViruses
+{
+ public partial class StartRunner95 : UserControl
+ {
+ Point beginLocation;
+ int taskbarLength;
+ int xLocation;
+ Timer moveStart = new Timer();
+ private static PrivateFontCollection pfc = new PrivateFontCollection();
+ Windows95 w = new Windows95();
+ public StartRunner95()
+ {
+ InitializeComponent();
+ pfc.AddFontFile(DataDirectory + "\\LeviWindows.ttf");
+ label2.Font = new Font(pfc.Families[0], 16F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(0)));
+ beginLocation = w.startbutton.Location;
+ moveStart.Interval = 300;
+ moveStart.Tick += MoveStart_Tick;
+
+ }
+
+ private void MoveStart_Tick(object sender, EventArgs e)
+ {
+ int taskbarWidth = w.taskbar.Size.Width;
+ Random random = new Random();
+ xLocation = random.Next(1, taskbarWidth);
+ w.startbutton.Location = new Point(xLocation, w.startbutton.Location.Y);
+ }
+
+ private void classicButton1_Click(object sender, EventArgs e)
+ {
+ moveStart.Start();
+ }
+
+ private void StartRunner95_Load(object sender, EventArgs e)
+ {
+
+ }
+
+ private void classicButton2_Click(object sender, EventArgs e)
+ {
+ moveStart.Stop();
+ w.startbutton.Location = beginLocation;
+ }
+
+ private void classicButton3_Click(object sender, EventArgs e)
+ {
+ ParentForm.Close();
+ }
+ }
+}
diff --git a/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.resx b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.resx
new file mode 100644
index 0000000..f8ee0b3
--- /dev/null
+++ b/Histacom2/OS/Win95/Win95Apps/12padamsViruses/StartRunner95.resx
@@ -0,0 +1,132 @@
+<?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>
+ <data name="label2.Text" xml:space="preserve">
+ <value>Virus Name: Start Runner
+Virus Type: Joke Program
+Purpose: A fun prank to pull on April Fools' Day!
+Effect: The start button will move side to side along the taskbar.
+
+Hey there! Thanks for installing this joke program from my website!
+This is a fairly common joke program often found in email chains.
+How this works is simple; it simply moves your startbutton from side-to-side.
+To remove, simply press the remove button on this window.
+</value>
+ </data>
+</root> \ No newline at end of file
diff --git a/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.Designer.cs b/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.Designer.cs
index c23dc6d..dc00477 100644
--- a/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.Designer.cs
+++ b/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.Designer.cs
@@ -275,6 +275,7 @@
this.button7.TabIndex = 12;
this.button7.Text = "Download";
this.button7.UseVisualStyleBackColor = false;
+ this.button7.Click += new System.EventHandler(this.button7_Click);
//
// label13
//
@@ -297,6 +298,7 @@
this.button6.TabIndex = 10;
this.button6.Text = "Download";
this.button6.UseVisualStyleBackColor = false;
+ this.button6.Click += new System.EventHandler(this.button6_Click);
//
// label12
//
diff --git a/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.cs b/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.cs
index 6adfbb8..a6c67df 100644
--- a/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.cs
+++ b/Histacom2/OS/Win95/Win95Apps/IE3Sites/12padams1998.cs
@@ -145,5 +145,23 @@ namespace Histacom2.OS.Win95.Win95Apps.IE3Sites
opendownload.appName.Text = "Downloading: Guess The Number V1";
opendownload.amountToDL = 16;
}
+
+ private void button7_Click(object sender, EventArgs e)
+ {
+ WinClassicDownloader opendownload = new WinClassicDownloader();
+ WindowManager wm = new WindowManager();
+ wm.Init(opendownload, "Downloader", null, false, true);
+ opendownload.appName.Text = "Downloading: Error Blaster 95";
+ opendownload.amountToDL = 32;
+ }
+
+ private void button6_Click(object sender, EventArgs e)
+ {
+ WinClassicDownloader opendownload = new WinClassicDownloader();
+ WindowManager wm = new WindowManager();
+ wm.Init(opendownload, "Downloader", null, false, true);
+ opendownload.appName.Text = "Downloading: Start Runner 95";
+ opendownload.amountToDL = 32;
+ }
}
}
diff --git a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
index 9c7e2a3..519e14d 100644
--- a/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
+++ b/Histacom2/OS/Win95/Win95Apps/Win95WindowsExplorer.cs
@@ -13,6 +13,7 @@ using Histacom2.Engine;
using Newtonsoft.Json;
using Histacom2.Engine.Template;
using System.Diagnostics;
+using Histacom2.OS.Win95.Win95Apps._12padamViruses;
namespace Histacom2.OS.Win95.Win95Apps
{
@@ -351,6 +352,26 @@ namespace Histacom2.OS.Win95.Win95Apps
Program.nonimportantapps[Program.nonimportantapps.Count - 1].FormClosing += new FormClosingEventHandler(Program.NonImportantApp_Closing);
break;
+ case "eb95 setup":
+ Win95Installer ebInstall = new Win95Installer("Error Blaster 95");
+ ebInstall.InstallCompleted += (sender, args) => TitleScreen.frm95.ErrorBlasterToolStripMenuItem.Visible = true;
+ WinClassic installer = wm.Init(ebInstall, "Error Blaster 95 Setup", null, true, true);
+ Program.AddTaskbarItem(installer, installer.Tag.ToString(), "Error Blaster 95 Setup", null);
+ installer.BringToFront();
+ break;
+ case "error blaster":
+ WinClassic eb = wm.Init(new ErrorBlaster95(), "Welcome to Error Blaster 95!", null, true, true);
+ Program.AddTaskbarItem(eb, eb.Tag.ToString(), "Welcome to Error Blaster 95!", null);
+ Program.nonimportantapps[Program.nonimportantapps.Count - 1].BringToFront();
+ Program.nonimportantapps[Program.nonimportantapps.Count - 1].FormClosing += new FormClosingEventHandler(Program.NonImportantApp_Closing);
+ break;
+ case "sr95 setup":
+ Win95Installer srInstall = new Win95Installer("Start Runner 95");
+ srInstall.InstallCompleted += (sender, args) => TitleScreen.frm95.ErrorBlasterToolStripMenuItem.Visible = true;
+ WinClassic install = wm.Init(srInstall, "Start Runner 95 Setup", null, true, true);
+ Program.AddTaskbarItem(install, install.Tag.ToString(), "Error Blaster 95 Setup", null);
+ install.BringToFront();
+ break;
default:
wm.StartInfobox95(path.Replace(ProfileMyComputerDirectory, "C:"), $"{path.Replace(ProfileMyComputerDirectory, "C:")} is not a valid Win32 application.", InfoboxType.Error, InfoboxButtons.OK);
break;