重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统


相关说明

如果你觉得文章含有侵权部分,可以联系CSDN私聊,我会适当修改。
未经允许,不得转载,如需转载,请CSDN私聊。


Windows

Windows,意思是窗口,窗户。当然,他也是一个操作系统的名字。
1983年,由比尔·盖茨建立的Microsoft,也就是微软公司,开始研制Windows操作系统,那时的人们还在使用一个叫做MS-DOS的系统。这个操作系统没有任何图形的元素,用的是命令行来交互,大概……长这样:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第1张图片
类似于现在我们的CMD程序,由于这个操作系统需要操作员学习很多指令,所以,微软公司推出了一款基于MS-DOS操作系统的图形化操作界面:Windows1.0.

安装Windows1.0

现在,在网络上还有些许关于Windows1.0的相关资源。有些用户在网上挂出了Windows1.0的VMware虚拟机文件:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第2张图片
双击vmx文件,即可打开界面,然后,开机运行,你会看到:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第3张图片
你可能会说:这不还是命令行吗?别急,Windows1.0是基于MS-DOS的,我们输入cd windows,进入Windows目录:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第4张图片然后,输入win,即可进入Windows界面,大概是这个样子的:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第5张图片

体验Windows1.0

安装完成后,我们发现这个系统中内置了一些附件,例如:

NOTEPAD.EXE  记事本
PAINT.EXE    画图板
CALC.EXE     计算器
CLOCK.EXE    闹钟
......

在Windows中,鼠标的灵敏度不是很高,所以比较难操作,但是这在当时,已经是非常了不起了!
看看Windows1.0里面的一些附件吧!
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第6张图片
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第7张图片
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第8张图片

Windows操作系统所需要的内存非常低,在虚拟机里面,仅需16mb:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第9张图片
看完之后,你在看看你现在正在看这篇文章所用的操作系统,是不是不一样了呢?

尝试自己动手编写Windows

现在,我们尝试自己动手编写一个Windows操作系统!这个系统我们用C#去编。
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第10张图片系统的样子大概是这样的:
重温经典:Windows1.0系统体验和尝试自己编写Windows1.0系统_第11张图片

小白学习,做的很丑,大佬勿喷啊。首先,这里主要用到menuStrip控件和TreeView控件,菜单栏里面是空的,并且菜单栏是自己在设计师里设计的,代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            TreeNode tn1 = treeView1.Nodes.Add("附件");
            TreeNode tn2 = treeView1.Nodes.Add("系统信息");

            TreeNode tn1_1 = new TreeNode("计算器");
            TreeNode tn1_2 = new TreeNode("记事本");
            TreeNode tn1_3 = new TreeNode("画图板");
            TreeNode tn2_1 = new TreeNode("系统说明");
            TreeNode tn2_2 = new TreeNode("作者信息");

            tn1.Nodes.Add(tn1_1);
            tn1.Nodes.Add(tn1_2);
            tn1.Nodes.Add(tn1_3);
            tn2.Nodes.Add(tn2_1);
            tn2.Nodes.Add(tn2_2);
        }

        private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {

        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

然后,我们开始编辑按钮的控件,这里需要判断是否选中控件,并且根据控件内容做出对应动作,加入后,代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApp2
{
    public partial class Form1 : Form
    {
        string str;
        public Form1()
        {
            InitializeComponent();
            TreeNode tn1 = treeView1.Nodes.Add("附件");
            TreeNode tn2 = treeView1.Nodes.Add("系统信息");

            TreeNode tn1_1 = new TreeNode("计算器");
            TreeNode tn1_2 = new TreeNode("记事本");
            TreeNode tn1_3 = new TreeNode("画图板");
            TreeNode tn2_1 = new TreeNode("系统说明");
            TreeNode tn2_2 = new TreeNode("作者信息");

            tn1.Nodes.Add(tn1_1);
            tn1.Nodes.Add(tn1_2);
            tn1.Nodes.Add(tn1_3);
            tn2.Nodes.Add(tn2_1);
            tn2.Nodes.Add(tn2_2);
        }

        public void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
        {
            str = e.Node.Text;
        }

        public void button1_Click(object sender, EventArgs e)
        {
            if (treeView1.SelectedNode.Text == "附件")
            {
                MessageBox.Show("请选择一个项目");
            }
            else {
                if (str == "记事本")
                {
                    System.Diagnostics.Process.Start("notepad.exe");
                }
                else if (str == "画图板")
                {
                    System.Diagnostics.Process.Start("mspaint.exe");
                }
                else if (str == "计算器") 
                {
                    System.Diagnostics.Process.Start("calc.exe");
                }
                else if (str == "系统说明")
                {
                    MessageBox.Show("仿Windows1.0操作系统,高手勿喷,在Windows10上测试成功");
                }
                else if (str == "作者信息")
                {
                    MessageBox.Show("和风赛跑的男人");
                }
            }
        }
    }
}

很简单的一个小程序就完成了。

结束

该项目已开源到Github上https://github.com/HackerEric-web/-Windows1.0,如有需要请自行下载。

你可能感兴趣的:(windows,操作系统)