2.2. Windows

2.2.1. Windows的注册表编辑器:regedit

通过windows的查找,找到regedit:

其对应的位置在:C:\Windows

点击打开regedit:

[提示] regedit会记住上次打开的位置

打开regedit,其默认会自动定位到上次关闭时所在的位置。

2.2.2. Windows的命令行工具: cmd

2.2.2.1. cmd简介

Windows下面的命令行界面,命令工具,是对应的cmd程序。

其对应的位置在:C:\Windows\System32

在win7下,可以通过开始的查找,找到cmd

其全称为:Windows Command Processor

其运行时的截图为:

[提示] cmd下运行的bat脚本文件

在Windows的cmd下面,支持运行后缀为bat或cmd的文件,成为windows下的(bat)脚本文件/批处理文件

关于Windows下的Bat脚本,详情参看Windows Batch File

2.2.2.2. cmd的基本用法

右击cmd的左上角的图标 cmd的图标,会出现对应的菜单:

可以看到,有两个配置,一个是默认配置Defaults,一个是当前窗口的属性配置properties,两者基本的操作,都是一样的。

下面来介绍一下,常见的配置:

2.2.2.2.1. 快速编辑:选取,复制,粘贴等操作

上图:

默认的cmd,一般是关闭了编辑选项中的快速编辑模式的。

  • 非快速编辑模式

    当关闭了快速编辑模式的话:

    • 粘贴文字

      如果你系统剪贴板中已经拷贝了一些字符,然后想要粘贴到cmd中,那么就需要点击右键:

      选择对应的粘贴,才可以粘贴对应的字符:

    • 复制文字

      鼠标是无法直接选择对应的文字的,需要:

      即右键,选择标记,然后再选择一些文字:

      然后点击右键或输入键盘的Enter键,就可以实现复制对应所选内容了。

  • 快速编辑模式

    此时:

    • 粘贴文字

      而如果启用了快速编辑模式的话,那么就不会再出现上述的右键菜单了,不需要选择粘贴,通过直接点击右键,就可以实现上述字符的粘贴了。

    • 复制文字

      同理,对于复制cmd中的文字,用鼠标选择后:

      然后直接通过键盘上的Enter键或点击鼠标右键,即可实现将选中的文字,拷贝到系统剪贴板中,然后就可以粘贴到别的地方/别的程序中了。

2.2.2.2.2. 字体
2.2.2.2.3. 布局

需要说明一下的是,关于屏幕缓冲区大小,指的是系统本身最大所存储的内容,

而窗口大小,指的是你当前的cmd的窗口大小。

屏幕缓冲区的大小,肯定是要大于等于窗口大小的设置的。

屏幕缓冲区大小的设置,决定了你的cmd窗口,最大能多大,即用鼠标拖拉窗口的话,最大能变成多大。

对于屏幕缓冲区:

  • 宽度

    自己试试,改成不超过你的屏幕的宽度为宜,否则横向太长,输出的内容,就不容易看清了。

  • 高度

    一般设置为大于窗口的大小,这样方便窗口在上下的高度方面,可以随时进行调整。

2.2.2.2.4. 颜色

2.2.2.3. cmd的高级用法

2.2.2.3.1. 命令历史列表

cmd中按F7,可以调出(之前所输入的)命令的历史列表

直接上图:

用法是,在cmd中,按F7,即可出现上图的效果。

其实,默认的通过键盘上的上线箭头,可以输入之前/后输入过的命令的。

但是之前不知道,原来F7可以跳出命令历史列表的窗口的。

2.2.2.3.2. 开启/关闭自动补全

win7默认的cmd,是支持自动补全的(就像Linux中shell中的效果一样)

即你输入字母后,按TAB键,则会自动帮你匹配出相应的支持的命令(或当前文件夹下面的文件名)

但是之前不知道,此功能,还是可以自己设置开启或关闭的。

直接上图:

即,cmd中,右键窗口左上角的图标,选择 默认值,然后打开了 控制台窗口的属性 的对话框,对于其中的编辑选项中的自动完成,可以自己开启或关闭。

我之前就遇到过一次,不小心,不知道系统怎么出了异怪的事情,cmd中自动补全功能失效了,按TAB键不起作用了,只是光标向右跳动一个TAB的距离,变成了输入TAB键的功能了。后来才找到此选项,关闭后,再启用,才折腾好,TAB才可以继续实现自动补全的功能的。

2.2.2.3.3. 设置字符编码:简体中文GBK/英文

即 控制台窗口 属性中的默认代码页的设置:

此处中文的win7,一般已经默认设置为了936了,这样显示出来的文字,是对应的中文GBK的编码的。

因此,如果你使用其他程序向控制台输出中文字符的话,比如之前用过python的logging.info输入中文信息到cmd中,此时如果你输出的汉字的编码也是GBK的话,和cmd中的GBK一致,则汉字是可以正确显示的。

如果你输出的汉字是其他编码,比如UTF-8,那么和cmd中的GBK编码不一致,就导致cmd中显示出来的汉字,是乱码了。对于python中,输入汉字是unicode话,logging.info会自动输出匹配的汉字,使得其可以正确显示的。

2.2.2.4. 右键快速打开cmd并且定位到该文件夹所在路径

有两种方法:

  1. 手动添加注册表项
    1. 打开注册表编辑regedit,且定位至HKEY_CLASSES_ROOT\Directory\shell
      [提示] 提示
      对注册表不了解的,请参考第 2.2.1 节 “Windows的注册表编辑器:regedit
    2. 在shell下新建一个项(目录),命名为OpenCmd
    3. OpenCmd下新建一个项(目录),名为command
    4. command下面那个ab图标的,REG_SZ类型的值,设置为
    5. cmd.exe /k pushd %L
  2. 直接导入注册表文件

    上述步骤,也可通过导入注册表的方式来实现统一功能。

    把下面的内容:

    Windows Registry Editor Version 5.00
    [HKEY_CLASSES_ROOT\Directory\shell\OpenCmd\command]
    @="cmd.exe /k pushd %L"
    					

    保存为OpenCmd.reg,然后双击运行OpenCmd.reg,即可。

无意间,从Windows 7使用技巧:在当前路径下打开命令行(cmd)命令窗口中发现,原来Win7中已经支持了此功能了。

即,在Win7中,在右击某文件夹的之前,先按Shift,然后再右击

此时就会多出一个“在此处打开命令行窗口”,"Open command window here"

同样可以实现快速打开cmd并定位到该文件夹所在路径。

2.2.3. Windows下的程序所常用的运行库:Microsoft .NET Framework

2.2.3.1. Microsoft .NET Framework简介

Microsoft .NET Framework是windows操作系统下很常见的一个和开发人员有关的组件。

Microsoft .NET Framework的作用是为了提供此平台,此平台包含很多功能,供其他软件调用,而不需要关心细节,实现程序可移植性更好。

Microsoft .NET Framework目前已有很多个版本。大家最常见的有这几个:

  1. Microsoft .NET Framework 2.0
  2. Microsoft .NET Framework 3.0
  3. Microsoft .NET Framework 3.5
  4. Microsoft .NET Framework 4.0

其不同的版本,新版本兼容旧版本。

现在很多人常用的很多软件,也是利用到Microsoft .NET Framework里面的功能了。

某个程序如果用到了Microsoft .NET Framework,会在程序发布的时候,说明最低需要哪个版本的Microsoft .NET Framework的。

比如,如果你安装的Microsoft .NET Framework 3.5,而程序要求最低是Microsoft .NET Framework 2.0,则你是完全满足了程序要求的,可以正常运行程序的。

目前最常见的Windows的操作系统是XP和Win7

  1. XP

    XP系统默认情况下,是没有安装Microsoft .NET Framework

    只不过,由于其他很多程序的运行也需要Microsoft .NET Framework,所以之前运行某软件的时候,就已经安装了Microsoft .NET Framework。

    另外还由于目前很多人安装的XP系统,是通过别人制作的GHOST版本的XP,其内在也已经集成了Microsoft .NET Framework了

    所以,换句话说,对于绝大多数人来说,此时此刻,你的XP中极有可能也已经安装了Microsoft .NET Framework了。

  2. Win7

    而Win7默认本身已经集成了Microsoft .NET Framework 3.5了。

2.2.3.2. 0xC0000135错误是由于缺少了Microsoft .NET Framework

综上所述,你的XP或Win7中,多数情况下,都已经支持Microsoft .NET Framework了。

而再去运行一般的软件的时候,也都可以正常运行的。

但是,凡事总有例外,如果遇到系统上没有装Microsoft .NET Framework,而去运行那些需要Microsoft .NET Framework支持的程序的时候,就会遇到0xC0000135错误

比如,我的一个小程序:downloadSongtasteMusic,别人在XP上运行,结果出错:

即显示:应用程序正常初始化(0xc0000135)失败。请单击"确定",终止应用程序。

解决办法是:

可以去网上随便下载一个,比如非凡软件网站的Microsoft .NET Framework v2.0 简体中文版

然后安装即可。

当然,如果本身程序所依赖的Microsoft .NET Framework版本很高,比如要求必须是Microsoft .NET Framework 3.5以上,那么你就必须去找Microsoft .NET Framework 3.5或Microsoft .NET Framework 4.0去安装,才可以的