欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

微软 Windows Intune 云托管服务试用

月的12日,我作为 MVP 拿到了微软 Windows Intune Beta 2 阶段的测试资格,除了我好像还有一位 MVP 刘晖也应该拿到了吧,刘晖是大名鼎鼎的技术作家哈~ 此外,中国大陆用户目前好像还暂不能申请测试。

 

大概在下个月我会写一篇较为全面和详细的报告,向大家展示 Windows Intune 的体验,在这里,我只与大家简单分享一下感受哈,因为有些功能我也还在学习和研究之中。

 

Windows Intune 应该是一个微软托管的云端计算机管理服务,为中小型企业提供 PC 的统一管理和安全报告服务。Windows Intune 的管理控制台位于云端,需要使用 Windows Live ID 登录*,而受管的 PC 需要接入互联网,并且安装 Windows Intune 的客户端。

 

向大家展示一张 Windows Intune 的界面吧,通过这个界面,我们可以看到所有受管 PC 的问题总览:

 

 

大家也可以看到,我使用鼠标右键时显示的菜单只有一个 Silverlight,说明整个 Intune Console 是用 Silverlight 编写的。虽然微软总部给我测试用的服务器在美国,但是访问速度还是非常理想的,我的网络环境是电信 ADSL 2M。

 

Beta 2 测试阶段,微软总部只给我分配了 25 台 PC 的 licence,我相信正式商用以后,微软会面向企业支持更多台。有个神奇的事情是,虽然服务器在美国,并且不对中国大陆用户开放测试,但是我登录之后,发现大多数帮助、指南和整个 Windows Intune Console 界面都是简体中文的,呵呵~

 

我这些天还先测试了一下远程协助操作,发现借助的是微软 Live Meeting 服务器,软件是 Microsoft Easy Assist,从软件的界面和功能来看,它貌似是 Office Live Meeting 的简化版本。还有就是,安装它的客户端后,会推送四个 Update 更新,全部安装后,MSE杀软就变成了 Windows Intune Malware Protection,就是图标和程序映像名变了,软件界面还是一样的,而且经过比对,与 MSE 是同一个 engine。Intune 的客户端貌似借用了 System Center 2007 的一些东西,这还有待继续体验。

 

我还大概看了一下,这个 Intune 服务并不会搜集用户私密数据和信息,它搜集的最"严重"的也只是受管 PC 的硬件配置和安装的软件的列表,这是为了做资产评估用的吧,评估软/硬件资产。

 

好了,今天就说这么多了,剩余的 99% 的情况等我再测试十来天再告诉大家,敬请期待。

 

关于 Windows Intune 及其商业消息,大家百度一下吧。虽然我是 MVP,但貌似中国媒体的速度永远超过我至少半个月……

如何安装从 Windows Update 目录下载的驱动程序

可能还不知道,微软有个很强大的 Windows Update Catalog 站点吧? Windows Update Catalog(即 Windows Update 目录)里面包含了众多经过 WHQL 认证的驱动程序和各种热修复补丁。

 

 

例如,你计算机上的 ATI 显卡驱动没有正确安装,那么你可以通过搜索 ATI 这样的厂商名称来尝试搜索到合适的驱动,也可以通过搜索设备 ID 来直接搜索到适用于你这款显卡的认证驱动。如何查看设备 ID 呢?运行 devmgmt.msc,这将启动设备管理器,我们可以在其中展开 显示适配器,然后双击节点下面出现的显卡项,在弹出的属性对话框中切换到 详细信息 选项卡,在下 属性 拉菜单中选择 硬件 ID 即可看到硬件的识别标志码:

 

 

如上图所示,对于含有很多 ID 值的设备,我们只需取 VEN_xxxx&DEV_xxxx 部分作为关键字搜索即可。搜索出的结果我们可以添加到选择篮。在全部选择完毕后,我们可以点击 选择篮,然后根据提示下载到某个本地文件夹。此例中,假设我们下载到了 D 盘根目录 D:\

 

下载完毕后,我们可以发现,下载回来的全部都是 .cab 文件。如果我们尝试使用 WinRAR 等软件来解压的话,可能收到压缩包损坏的提示。那么怎么办呢?别急,我们可以使用 Windows 原生的 expand 命令来正确展开这些文件。例如,我们要把 D:\ 下的 ati.cab 里的全部内容释放到 D:\ 下的 driver 文件夹,那么执行的 cmd 命令应该是 expand D:\ati.cab -F:* D:\driver。注意,driver 文件夹必须事先存在,不存在的话一定先建立好了再执行命令。更多有关 expand 的命令选项,请执行 expand /? 获取帮助。

 

展开之后,我们可能发现 D:\driver 下面有一些 .inf 文件。这些都是针对不同设备模型的驱动安装配置文件。看来看去,就是没有发现 setup.exe 之类的安装包,那我该如何安装这些驱动呢?

 

有两种办法:

 

  1. 使用 Windows 设备管理器里面的更新驱动程序软件选项(推荐)
    再次打开任设备管理器,右击显卡选项,选择 更新驱动程序软件… ,在向导中选择 浏览计算机以查找驱动程序软件,接下来点击 浏览 按钮,定位至包含展开文件的路径 D:\driver确定 即可,接下来的工作就是下一步、下一步了,只要根据屏幕提示操作就没问题。
  2. 使用 Windows Vista 和 Windows 7 中的 PnP 实用程序 (Pnputil.exe)
    这个算是高级选项了,因为用不好的话容易出错。比如,我们在 D:\driver 下看见了 x1400.inf 文件,这个文件正好是对应于我的显卡模型 ATI Mobility X1400 的,那么我就应该使用这个命令来添加和安装程序包: pnputil.exe -i -a D:\driver\X1400.INF。更多关于 pnputil 的用法,请执行 pnputil /? 查询。

 

好了,到这里本文就结束了。有了 Windows Update 目录,相信您可以获取到您想要而 OEM 厂商不再提供的 WHQL 驱动程序了。

发表于 作者 shehuayu | 0 评论

启用特殊池解读 0x000000c5 蓝屏

度一下0x000000c5,可得到的结果有 26600 条。但是在绝大多数的结果内,没有人给出了对症下药的合理方案。在我看来,蓝屏发生后,如若想要彻底解决,就不应该去"尝试"各种解决方案,而是使用 WinDbg 一类的利器,直接找到罪魁祸首。

 

首先,我们来认识一下,什么是常见的 0x000000c5 崩溃。

 

值为 0x000000c5的 bug check 其实是 DRIVER_CORRUPTED_EXPOOL。什么意思呢?说明系统尝试以过高的进程 IRQL 级别去访问无效内存。在蓝屏信息中,0x000000c5 后面的括号内还应跟有四个参数,其中第一个表明引用的内存地址,第二个参数表示引用时的 IRQL 级别,第三个参数要么是0要么是1,0表示读取,1表示写入,最后一个参数表示引用该内存的一个地址。

 

那么,一般有哪些原因引起了该错误呢?

 

引起该问题的一般原因为,一定有一个驱动程序损坏了系统的内存池。如果驱动损坏的是小于一个页面大小的分配单元,那么就会引发 0x000000c5 错误;倘若驱动损坏的是很大的区域,那么就会引发 DRIVER_CORRUPTED_MMPOOL 错误,值为 0x000000D0。

 

我该如何解决?

 

我的建议是,一定要启用特殊池!如果不启用特殊池,我们是无法得到真正的罪魁祸首的。而且,对于这个错误的直系、嫡系错误,我都推荐使用特殊池。我手头上暂时没有保存下来的 0x000000c5 内存转储,但是有一个 0x100000C5 DRIVER_CORRUPTED_EXPOOL。下面我展示一下堆栈结果:

 

 

从图中我们可以看见,0x7c90e514 并没有得到正确的解析,而且我可以告诉大家,它的地址也不是真实值,而是 WinDbg 根据内存上下文猜解的。此例中,我们就算使用 dds adb6ad48 命令,再配合 dds 命令,也只能找到一个微软公司的 win32k.sys 文件,这显然不是罪魁祸首。为了让我们能够定位出这个杀手驱动,我们不得不使用特殊池。

 

什么是特殊池?原理是什么?

 

特殊池就是特殊内存池,一旦启用,就好像系统部署了7x24小时监控,盯着可能是罪魁祸首的驱动。关于原理,我简单解释一下,就是通过启用特殊内存池,被检验的所有驱动程序对于略小于一个页面大小的缓冲区申请都将使用特殊内存池,不而是使用一般情形下的换页或非换页内存池。从特殊内存池中分配的缓冲区被夹在两个无效页面之间。因此,对于小于一个页面大小的缓冲区的溢出,系统在溢出发生时就会检测到,因为它导致了在缓冲区之后的无效页面发生了页面错误,也就是pagefault。那么,再次崩溃时,得到的错误应该是 DRIVER_PAGE_FAULT_BEYOND_END_OF_ALLOCATION(0x000000d6),这样就将不可调试的转为可调试的转储文件了,而且运气好的话能够看见Windbg直接指出引起崩溃的驱动。

 

怎样启用特殊池?

 

1、运行"verifier.exe",您会看见"驱动程序验证程序管理器"向导;

2、选择第二项——"创建自定义设置(供程序开发人员使用)",然后点击"下一步";

3、选择第二项——"从一个完整的列表选择单个设置",并点击"下一步";

4、仅选中第一项——"特殊池"前面的复选框,进入下一步;

5、选择第三项——"自动选择这台计算机上安装的所有驱动程序",点击"完成";

6、重新启动系统。

 

在重启系统之后,特殊池就生效了,接下来您要做的就是等待系统再次崩溃出现蓝屏。通过蓝屏之后重新生成的内存转储文件就因该可以查到真凶了。

 

以上用到的 verifier.exe 在系统中有,在 Windows Driver Kit 里面也带有。如果通过它启用特殊池也未能查明真凶,请使用Debugging Tools for Windows 中的 gFlags 工具通过 pool tag 启用特殊池再试。

 

 

参考资料:

1.    《Debugging Help》 in Debugging Tools for Windows

2.    MSDN - 《Windows Driver Kit

发表于 作者 shehuayu | 2 评论

如何利用 WinDbg 进行双机调试

的时候,系统在崩溃时可能不能生成内存转储文件,这样的原因有一些,详见我撰写的《如何确保系统崩溃时能够生成内存转储文件》一文。当然,系统挂起而不崩溃的情况也是有的。在这样各种得不到转储文件的情形下,如何才能才能诊断和调试系统错误呢?这就要用到双机调试啦。(对于挂起的系统,还有另外的办法可以采用,我将在日后的文章中进行讨论)

 

说到双机调试,笔者并不是第一次讨论这个问题了,如果你是笔者的老朋友,相信我搬来博客园之前,你在WinOS技术论坛、ITECN上我的博客里或者新浪博客里应该看见过我的一篇文章《手握利器,直面"蓝脸"》。这篇文章历时多天完成,于2009年春节期间发表,倾注了我很多心血,因此仅博客访问量就过万,还被合法地、不合法地到处转载……不过啊,这篇文章最后讲解的双机调试,由于篇幅所限,并不是很完善,今天我们就一起来看看双机调试的更多的细节。

 

其实并不是只有在生成不了转储文件的情形下才能使用双机调试,在任何情况下都是可以使用的,尤其是调试内核问题时,双机调试不必限于转储文件类型,均可获得一切可以获得的信息,相当于完全内存转储了。而且,双机调试可以调试到系统启动阶段和之后任意时刻的问题,这是内存转储做不到的。因此只要满足连接条件,将两台机器相连,我们就可以进行双机调试了。下面我们通过表格比较一下可用的三种连接方式:

 

连接类型

说明

COM

使用零调制解调器(Null-Modem)线缆,也就是两个头都是母孔的RS232线,通过COM端口连接

1394

利用IEEE 1394线缆连接,要求调试机和被调机运行相同版本的至少为Windows XP的系统

USB 2.0

使用一种内置硬件芯片来支持调试的特制 USB 线缆连接,要求被调机运行的系统至少为Windows Vista

 

在双机调试中,我们一般选择对硬件和软件复杂度要求最低的 COM 对接方式进行连接。当然,目前很多的笔记本计算机并没有再保留 COM 端口,那就要采取别的方式进行双机调试了。这样,笔记本用户进行双机调试就显得复杂了许多,所以在能生成内存转储文件的情况下还是尽量分析内存转储比较好。另外,在双机调试之前,除了连接好线缆,我们还必须在被调机上做一些设置才能让我们进行调试。下面我们一起看看需要做哪些设置。

 

其实要做的设置也不难,就是开启系统的调试功能。鉴于现在 Windows XP Service Pack 3 的支持周期还没有结束,我将讲解 XP 和 Windows 7 两个系统下的典型配置方式。(在这里,我们统一设置连接口为 COM1 口,波特率为115200

 

对于 Windows XP,由于启动使用的是 boot.ini 数据,因此我们可以手动修改 C:\boot.ini 文件(假设您的系统装在 C 盘),在像 multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect 这样的启动项目后增加参数 /debug /debugport=com1 /baudrate=115200。当然,编辑 boot.ini 之前,您需要显示所有隐藏文件并且取消隐藏受保护的系统文件,而且还需清除该文件的只读属性。配置好的结果如下图所示(该记事本启用了自动换行,蓝色高亮部分其实在同一行):

 

 

除了直接编辑 boot.ini,还可以使用 msconfig 实用程序。启动 msconfig,切换到 BOOT.INI 选项卡,点击 高级 按钮,在弹出的对话框中进行如下配置后两次单击 确定 来退出 msconfig 即可:

 

 

或者,还有一种推荐的命令行方式来设置:

 

cmd 下键入并执行命令:bootcfg /debug ON /port COM1 /baud 115200 /ID 1

成功后会有如下提示:

 

 

这里的 /ID 开关用于决定对 boot.ini 中的哪一条启动项进行设置。可用的启动项可通过执行不带参数的 bootcfg 命令查看。更多自定义调试参数的方式请执行 bootcfg /debug /? 查询。

 

说到自定义调试参数,那我也得说说默认的调试参数:(默认调试参数即借助 /debug ON 参数单纯启用调试而没有配置调试口波特率时的系统默认调试参数)

 

系统版本

默认调试参数

Windows Vista 之前的 Windows 系统

如 Windows XP

调试口 COM1,波特率 19200 bps。

Windows Vista 及 Windows 7

调试口 COM1,波特率 115200 bps。

[全局默认设置]

 

说完了 Windows XP 的配置,我们再来说说现行主流系统 Windows 7 的调试配置:

 

Windows Vista 和 Windows 7 下,就没有那么多的方法了。如果采用 Windows 自带的工具,就只能使用 bcdedit 命令了。Vista 之后,启动摒弃了 boot.ini 的方式,而是读取启动配置数据库。为了简化操作,我们可以使用默认调试配置,因此我们只需开启调试即可:

 

以管理员身份运行cmd 下键入并执行命令:(每行一条命令)

bcdedit /bootdebug ON

bcdedit /debug ON

 

执行后得到的正确结果如下图所示:

 

 

您还可以通过执行 bcdedit /dbgsettings 命令来查看当前的调试参数设置。如果您要自定义调试参数,请执行命令 bcdedit /dbgsettings /? 获取帮助。

 

了,做好了被调机的设置,我们还需做调试机的设置,这样才能进行调试。

 

由于条件所限,我只能使用我的笔记本计算机作为调试机,将安装在本机上的 Windows 7 家庭普通版虚拟机作为被调机,使用 NirSoft 的 StartBlueScreen 程序造成系统崩溃。

接着上面的步骤,此时我们刚刚配置完被调机 Windows 7 家庭普通版,并且尚未重启。我们接着应该运行调试机上面安装的 WinDbg,为了稍后能正确解析堆栈中的函数,我们首先应该点击 FileSymbol File Path…,填入 SRV*DownstreamStore*http://msdl.microsoft.com/download/symbols 后单击 OK(如果是平时调试您自己的程序,或者存有本地 Symbol,这里也可填写本地符号文件路径),然后选择 FileKernel Debug…,在弹出的 Kernel Debugging 配置对话框中,我们选择 COM 选项卡,在 Baud Rate 里面填写 115200(与被调机调试参数匹配),然后单击 确定 即可。本来接下来就是连接零调制解调器线缆,随后重启被调机即可连上进行调试了,可是我们这里是虚拟演示,没有真实的零调制解调器线缆,我们再重启被调机之前、在确定 Kernel Debugging 配置对话框之前,我们还得做一些设置:(在此列举出来是为了方便有兴趣做一下本实验的人们 J

  • 勾选 Pipe 使用命名管道连接
  • 勾选 Reconnect 确保在读/写错误发生时,WinDbg 自动断开并重连管道
  • Port 字段填入命名管道名称(本例中笔者使用 \\.\pipe\eric,具体用法在本文最后解释)
  • 激活被调机虚拟机窗口(以 Windows Virtual PC 为例),点击 工具设置…, 在左栏选择 COM1(与被调机系统中设置的调试口一致),在右栏选择 命名管道 并在该字段填入与 WinDbg 里面一致的管道名称(本例是 \\.\pipe\eric),然后 确定




设置好了命名管道之后,我们在 WinDbg 的 Kernel Debugging 配置对话框中单击 确定。在询问是否 Save WorkSpace 的对话框中,我们选择 Yes。然后,WinDbg 就等待连接命名管道了。好了,后面的步骤就跟使用零调制解调器线缆连接的真实案例一样了。

 

接下来重启被调机。等待被调机重启并进入系统引导阶段后,WinDbg 会连上被调机并在 Waiting to reconnect… 状态下出现新的显示:

 

 

连上后,我们可以在任意阶段,于 WinDbg 内使用 Ctrl+Break 快捷键来中断被调机系统的运行,并配合相应命令进行即时分析。例如,就在这个启动阶段,我们使用 Ctrl+Break 快捷键来中断启动过程,我们可以看见启动过程的 UI 动画也随即停止:

 

 

如果要被调机继续运行,键入 g 并运行或者按下 F5 键即可。下面,我们就等待登录系统。登录系统后,我们使用提升权限的 cmd 运行 NirSoft 的系统崩溃软件来模拟一个平时我们见过的 0xc5 蓝屏,命令是 StartBlueScreen 0xc5 0 0 0 0。被调机蓝屏后,我们其实看不见以往的蓝屏,但是可以在 WinDbg 中立即看见捕获的信息,就跟分析内存转储文件一样,我们可以开始以往的分析工作了:

 

 

使用 !anaylze -v 命令,我们就可以定位出,造成蓝屏的驱动是 NirSoftBlueScreenDriver.sys。这个分析比较简单。但是值得注意的是,这个 bugcheck (即 0x000000C5)并不是系统像往常一样根据错误类型自动给出的,而是驱动 NirSoftBlueScreenDriver.sys 直接向 KeBugCheckEx 函数传递的参数,这个参数是笔者在利用 StartBlueScreen 程序时传递给程序的自定义参数,因此借助 StartBlueScreen 我们可以自定义蓝屏的五个参数。

 

Demo 做到这里就结束了。在本文的末尾,我给出上文中出现的一些概念的解释和一些过程的原理剖析及说明:

 

  • 关于调试所使用的波特率Baud Rate):可以使用的调试波特率有9600、 19200、38400、57600 和 115200,单位是 比特/秒,WinDbg 默认的设置是 19200 bps,系统的默认设置在上文中已经通过表格给出。从通信的角度解释,波特率是信源每秒钟发出的二进制符号的个数,因此我们在双机调试时,选用越高的波特率就意味着 WinDbg 中越快的解析速度,但选用的波特率在被调机和调试机间应该匹配。而且,就算选用最高的 115200 bps,也没有直接调试本地内存转储文件快,不过可以接近。
  • 关于命名管道:命名管道是一个有名字的、实现单向或双向通信的通信管道,可以是进程间的通信,也可以是跨越网络的不同主机间不同进程间的通信。管道的名称由两部分组成——计算机名和管道名。标准格式为 \\[host_name]\pipe\[pipe_name](方括号内为参数)。对于同一主机,允许有多个同一命名管道的实例并且可以由不同的进程打开,但是不同的管道都有属于自己的管道缓冲区和自己的通讯环境而互不影响,并且命名管道可以支持多个客户端连接一个服务器端。对于客户端来说,命名管道可以是 \\[host_name]\pipe\[pipe_name] 形式,也可以是 \\.\pipe\[pipe_name] 形式,其中的"."表示本机。而服务器端由于只能指定本机作为主机名,故只能使用 \\.\pipe\[pipe_name] 的形式。上文例子中的 eric 即为一个 [pipe_name]。另外,在同一主机上,管道名称是唯一的。一个命名管道一旦被创建就不允许相同名称的管道再被创建。
  • 关于命名管道的连接与通信方式(WinDbg 的 Reconnect 设置涉及到):在服务器端第一次创建命名管道后等待连接,当客户端连接成功后服务器端的命名管道就用作通讯用途。如果需要再次等待连接,服务器端就需要再次打开命名管道(创建一个命名管道的实例)并等待连接。对于客户端,每次打开命名管道后建立与服务器的连接,然后就可以利用命名管道进行通信,如果需要建立第二个连接则需要再次打开管道和再次建立连接。
  • 在 Windows Vista 及其后的 Windows 系统中,由于不再包含 Dr. Watson,故用户模式调试器 NTSD 已不复存在。然而,在 Debugging Tools for Windows 中,包含了 NTSD 这一工具。如果您仍想通过 NTSD 来生成完整的用户模式转储(full user-mode dump file),请访问: http://support.microsoft.com/kb/951018/en-us
  • 调试的方法多种多样,调试器也是多种多样,本文仅为大家提供一种可行的解决办法,而不一定是最优的解决办法。例如,普通的最终用户遇到的蓝屏问题中,在能生成转储文件的情况下,双机调试就略显复杂和多余了。
  • 上文给出了虚机的试验方法,大家可以动手做做实验加深对其中过程和原理的理解。

 

 

参考资料:

  1. 《Debugging Help》 in Debugging Tools for Windows
  2. MSDN - 《Windows Driver Kit
  3. MSDN - 《如何:使用命名管道通过网络在进程之间进行通信
  4. CSDN - 《怎么用命名管道实现异步通讯

Dig into Windows 7 视频文件缩略图显示问题

装好 Windows 7 之后,相信有很多人跟笔者一样,会陆陆续续再装一些影音文件播放器,例如 KMPlayer、QQ影音、千千静听、暴风影音等等。久而久之,突然某一天,您可能发现在资源管理器中,一些诸如 avi、wmv、mpeg 、asf等格式的视频文件的缩略图不再显示,只能显示一个大大的图标,就像下面这样:

 

 

当然,上面的内容只是一个引子,由于时间久远,笔者发现不及时,已经无从评估究竟是哪一款软件引发的问题。据网友反映,很多人在卸载暴风影音后,视频缩略图恢复正常,不过,笔者并未使用过此软件。但笔者认为,一般是这样的第三方的媒体播放器或解码软件软件造成了该问题。

 

下面,我们一起来深入研究这个问题的背后的根层原因是什么。

 

我们使用 Sysinternals 的利器 ProcessMonitor 对打开视频文件夹时的 Windows 资源管理器进程 explorer.exe 进行一个监控,结果如下:

 

 

我们可以发现,它除了在最后操作文件以外,之前都是访问一系列的注册表项目。因此,我们可以锁定该错误的诱因是位于系统注册表的。

 

进一步观察我们可以发现,就关于这个.asf格式的注册表项,既有 HKCU 的部分,也有 HKCR 的部分。由于笔者新建了一个用户账户进行测试,仍不能正常显示视频文件缩略图,故可以排除 HKCU 的可能,问题的原因就应该在 HKCR 部分的文件类型注册项目。

 

这里必须有个说明,就是本文所讨论的这个不显示视频文件缩略图的现象是一个系统软件环境错误,而不是 Windows 的功能选项效果。也就是说,您必须确保您的"文件夹选项"里面被正确配置为显示文件缩略图(但缩略图却偏偏显示不出来):

 

 

如上图所示,您必须确保高亮部分——"始终显示图标,从不显示缩略图"一项前的复选框处于清空状态。

 

好了,我们接下来定位至注册表 HKEY_CLASSES_ROOT 区域下面的 .asf 部分,看到如图所示的情景:

 

 

通过比对虚拟机中的 Windows 7 以及比对能够显示缩略图的注册文件类型,我才发现这里 ShellEx 下两个 GUID 项目下的"默认"键值被莫名地清空了,什么也没有。于是,我们就找到了问题的所在。其实, Windows 资源管理器不能显示视频缩略图的根本原因就是 ShellEx 下面的两个 GUID 项目值缺失导致的。这里,我们以文本形式展示一下问题注册表和虚机中正常注册表关于 .asf 项目的对比:

 

出现问题的注册表 .asf 项

正常 / 默认的注册表 .asf 项

[HKEY_CLASSES_ROOT\.asf]

@="KMPlayer.asf"

"PerceivedType"="video"

"Content Type"="video/x-ms-asf"

"KMPBackup.bak"="WMP11.AssocFile.ASF"

 

[HKEY_CLASSES_ROOT\.asf\OpenWithProgIds]

"WindowsLive.PhotoGallery.video.15.3"=""

"WindowsLive.MovieMaker.asset"=hex:

 

[HKEY_CLASSES_ROOT\.asf\ShellEx]

 

[HKEY_CLASSES_ROOT\.asf\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]

@=""

 

[HKEY_CLASSES_ROOT\.asf\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]

@=""

[HKEY_CLASSES_ROOT\.asf]

@="WMP11.AssocFile.ASF"

"PerceivedType"="video"

"Content Type"="video/x-ms-asf"

 

[HKEY_CLASSES_ROOT\.asf\OpenWithProgIds]

"WMP11.AssocFile.ASF"=hex(0):

 

[HKEY_CLASSES_ROOT\.asf\PersistentHandler]

@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

 

[HKEY_CLASSES_ROOT\.asf\ShellEx]

 

[HKEY_CLASSES_ROOT\.asf\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

[HKEY_CLASSES_ROOT\.asf\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

这里呢,我们解释几个重要的概念。@ 后面的键值就是注册表中"默认"处的键值。在上面的表格中我们可以看出,默认的 asf 文件格式是关联到 KMPlayer 的。但是笔者的 KMPlayer 已经卸载了,为什么这个键值没有被替换还原或者删除呢?查阅 MSDN 发现,这个是正常的,该键值仅用于标识安装默认关联该文件类型的程序之后,这样的关联是否发生了更改。现在笔者卸载了 KMPlayer,那么当我双击 asf 文件时,虽然存有这个键值但是默认却用 Windows Media Player 打开,原因是这个默认关联键值是要配合 OpenWithProgIds 里面的程序列表使用的,这里面已经没有 KMPlayer 了,所以 @ 也就不起作用了。当然,程序的文件类型关联键值不止这里的一处,还有类似于 WMP11.AssocFile.ASF 这样的注册表项目决定,这已经超出本文讨论范围,就不在本文赘述了。而 PerceivedType 是用来标识这个文件类是属于什么类型的文件的,例如,标识一个自定义扩展名究竟是属于文本还是属于声音、视频等等。在 Windows Vista 及其之后版本的 Windows 中,该键值才真正起作用,因为现在,Windows 用它来识别一个文件夹中有些什么类型的文件,从而决定自动将文件夹应用何种最佳的视图。Windows 默认的 PerceivedType 共有11中,这里也不再赘述,有兴趣的朋友们可以查看这篇 MSDN 文章—— http://msdn.microsoft.com/en-us/library/cc144150(v=VS.85).aspx 。在 Vista 之前的 Windows 中,这个键值仅用来决定文件属性对话框提供的属性字段以及这种文件类型可选的默认设置(如文件图标)。Content Type 用来标识该文件类型对应的 MIME 内容类型。OpenWithList (如果存有)和 OpenWithProgIds 都是用来辅助决定文件打开方式对话框中显示的程序列表的。不同之处在于,OpenWithList 子键下面存放的是应用程序子键,而 OpenWithProgIds 下面存放的是用于这种文件类型的可选 ProgID,对应于这些 ProgID 的程序也会显示在打开方式对话框中,而且,如果有程序取得了这种文件类型的所有权,即修改了默认键值 @,它就必须被添加进这个 OpenWithProgIds 子键。因此,在笔者卸载 KMPlayer 之前,它对应的 ProgID 一定出现在这个子键下面。当然,细心的你会发现,这里的项目会少于打开方式对话框中的程序列表。原因是,这个不是决定打开方式程序列表显示什么程序的唯一因素,由于超出本文范围不再延伸讨论。更多关于文件类型注册的细节,有兴趣的你可以阅读这篇 MSDN 文章—— http://msdn.microsoft.com/en-us/library/cc144148(VS.85).aspx

 

既然是 digging into,我就要继续为大家介绍 PersistentHandler 了。Persistent handlers 是与搜索文件具体内容相关的,如果某种文件类型下面有 PersistentHandler,那么它将告诉 Windows "请搜索此种类型文件所包含的具体内容"或者"请不要搜索此种类型文件所包含的具体内容"。我们知道,对于一些二进制文件,我们就应该不让 Windows 搜索其具体内容,这些二进制文件包括媒体文件或者加密的文档等等,因为如果搜索,那么搜索结果可能包含一些不相关的或者您不可读的内容。很简单,当视频文件以文本的形式展现在您面前的时候,没人知道这是个什么视频,我们必须使用播放器去解析它来观看。而我们这些媒体文件大多数会要求 Windows 不要搜索内容,因此,默认地会定义 null persistent handlers。就像本例中,我们观察上面的表格发现,asf 文件在正常情况下,其 PersistentHandler 子键下面是有一个键值为 {098f2470-bae0-11cd-b579-08002b30bfeb}默认键(@)的,这个 GUID 对应的就是 null persistent handler。(上下文中的 GUID 都是可以在注册表 HKEY_CLASSES_ROOT\CLSID 区域找到对应关系的)

接下来还要介绍一个 ShellEx。对于这些 Windows 默认支持的媒体文件,此键下面一般还有两个子键,分别是 {BB2E617C-0920-11D1-9A0B-00C04FC2D6C1} {e357fccd-a995-4576-b01f-234630154e96}。这里的两个 GUID 是系统提供的文件属性 handler,在 HKEY_CLASSES_ROOT\CLSID 区域不可查。系统会为程序员提供一些默认的常见文件格式对应的 property handlers。ShellEx 下面保存的都是 shell extension handlers,它们是一些与 Shell扩展功能相关的属性的具体描述。这两个以 GUID 命名的子键,其前者使用的是 OLEDoc 文件的 property handler GUID,OLEDOC 文件会在文件属性对话框的详细信息选项卡中提供一些诸如标题、备注、版权之类的字段(这里只是举个例子,其实它的作用还有很多,例如与 Windows Search 有关);后者使用的是 thumbnail handler Shell extension GUID,也就是缩略图处理程序外壳扩展GUID,它自身的缺失以及其下默认键键值的缺失才是真正与缩略图不显示有关的根本原因!我们还可以发现,在正常情形下,这两个以 GUID 命名的 ShellEx 子键下面都还有一个默认键,键值为 {9DBD2C50-62AD-11D0-B806-00C04FD706EC},通过搜索注册表 HKEY_CLASSES_ROOT\CLSID 区域我们发现这是一个 Property Thumbnail Handler。

 

如果您是一个程序员或是一位对上述提到的各种 Handlers 的实现原理感兴趣的 IT 专业人士,相信您会对以下四篇 MSDN 文章感兴趣:

Property System - http://msdn.microsoft.com/en-us/library/bb776859(v=VS.85).aspx

Property Handlers - http://msdn.microsoft.com/en-us/library/bb776861(v=VS.85).aspx

Thumbnail Handlers - http://msdn.microsoft.com/en-us/library/cc144118(VS.85).aspx

Creating Shell Extension Handlers - http://msdn.microsoft.com/en-us/library/cc144067(VS.85).aspx

 

通过以上说明,相信您已经理解,对于本案例我们所要修复的直接内容只有一个——添加 HKEY_CLASSES_ROOT\<媒体文件扩展名|如.asf > \ShellEx\{e357fccd-a995-4576-b01f-234630154e96} 键,并将其下的默认键值设为 {9DBD2C50-62AD-11D0-B806-00C04FD706EC} 即可。添加之后,我们只需结束 explorer 进程,然后重新启动 explorer 进程即可看见效果——视频文件的缩略图都回来啦:

 

 

考虑到您可能没有时间在注册表编辑器内一项项地去添加,笔者为您提供了快速修复方案—— .reg 文件,您只需下载并双击导入即可。

 

笔者为您提供的文件共有两个,一个叫 WMP_MediaFiles_Thumbnails_Solution.reg,它用来单纯地修复这个案例中所阐述的视频文件缩略图不显示的问题,但需要提醒您注意的是,在这个文件中,我没有使用严格意义的最小修复原则,我将 ShellEx 下的两个以 GUID 命名的子键都添加进去了,除了修复缩略图问题,也可以顺便修复 OLEDoc 文件的 property handler 设置,因为在笔者自己遇到的问题中,发现这个设置也是空缺的(详见上文中的比对表格);另一个提供的文件,则是装好 Windows 7 后,一切默认媒体文件在注册表中的扩展名项目默认设置,叫做 WMP_FileTypes_Defaults.reg,它包含了音频、视频文件的默认设置,因此当然包含能够显示缩略图的视频文件的一些设置。这些设置包括以媒体文件扩展名(如 .wmv)命名的注册表项目及其下面的一切子键。建议使用第三方媒体播放器关联一些常见媒体文件类型的用户不要使用这个文件导入修复,而是使用第一个文件修复,因为使用这第二种文件修复时,必将覆盖您的文件类型默认所有权设置(上文提到过),例如 @="KMPlayer.asf" 就会被覆盖为 @=" WMP11.AssocFile.ASF "。当然,还有一点值得说明的是,不论是哪个文件,都只修复 Windows 默认支持的媒体文件类型,例如 Windows Media Player 和 Windows Media Center 原生能够播放的文件类型;而且,文件 WMP_MediaFiles_Thumbnails_Solution.reg 只修复一些本应能够显示缩略图的视频文件,而 WMP_FileTypes_Defaults.reg 则相当于重置一切默认支持的音频和视频文件的设置(但不会删除一些第三方播放器留下的冗余键值)。

 

这两个文件的下载地址为:http://cid-3222d068881c5251.office.live.com/embedicon.aspx/.Public/Windows%207%20%e8%a7%86%e9%a2%91%e6%96%87%e4%bb%b6%e7%bc%a9%e7%95%a5%e5%9b%be%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88

 

如果您觉得上述文件存有不完美的地方,例如您希望使用 WMP_MediaFiles_Thumbnails_Solution.reg 实现真正的最小修复,请用记事本编辑它,删除每个文件扩展名设置下面的这两行(以 .3g2 文件为例):

 

[HKEY_CLASSES_ROOT\.3g2\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

删除前后的对比应该是这样(同样以 .3g2 这个格式的设置为例):

 

说明

代码

删除前的代码

[HKEY_CLASSES_ROOT\.3g2]

 

[HKEY_CLASSES_ROOT\.3g2\shellex]

 

[HKEY_CLASSES_ROOT\.3g2\shellex\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

[HKEY_CLASSES_ROOT\.3g2\shellex\{E357FCCD-A995-4576-B01F-234630154E96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

删除后的代码

[HKEY_CLASSES_ROOT\.3g2]

 

[HKEY_CLASSES_ROOT\.3g2\shellex]

 

[HKEY_CLASSES_ROOT\.3g2\shellex\{E357FCCD-A995-4576-B01F-234630154E96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

等效最简代码(同删除后效果一致)

[HKEY_CLASSES_ROOT\.3g2\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

如果您希望使用 WMP_FileTypes_Defaults.reg 完全恢复默认设置,包括删除第三方播放器留下的冗余设置和由于 Windows 的使用而产生的设置变更,请用记事本编辑它,在每个文件扩展名设置的首行前面添加下面的这行(以 .3gp文件为例):

 

[-HKEY_CLASSES_ROOT\.3gp]

 

添加前后的对比应该是这样(同样以 .3gp 这个格式的设置为例):

 

说明

代码

添加前的代码

[HKEY_CLASSES_ROOT\.3gp]

@="WMP11.AssocFile.3GP"

"PerceivedType"="video"

"Content Type"="video/3gpp"

 

[HKEY_CLASSES_ROOT\.3gp\OpenWithProgIds]

"WMP11.AssocFile.3GP"=hex(0):

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx]

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

添加后的代码

[-HKEY_CLASSES_ROOT\.3gp]

 

[HKEY_CLASSES_ROOT\.3gp]

@="WMP11.AssocFile.3GP"

"PerceivedType"="video"

"Content Type"="video/3gpp"

 

[HKEY_CLASSES_ROOT\.3gp\OpenWithProgIds]

"WMP11.AssocFile.3GP"=hex(0):

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx]

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

[HKEY_CLASSES_ROOT\.3gp\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]

@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"

 

(为了防止 SkyDrive 网络因素造成的不能下载,我本想将我制作的这两个文件的源代码贴在本文的最后,但是发布后发现实在是太过于冗长,篇幅受不了。因此,还望见谅! J

发表于 作者 shehuayu | 2 评论

微软中国推校园先锋计划,保障学生低价获取正版软件

2010年7月13日,人人网 Lucky 7 率先向同学们宣布了"微软校园先锋计划"上线的消息,该计划现在接受学生预购正版 Windows 7 专业版和 Office 2010 专业版,正式销售的日期为7月19日。该计划的官网是:http://ms.shop.edu.cn/

 

 

校园先锋计划是微软(中国)有限公司针对中国大陆高校学校推出的一项优惠购买计划,为在校大学生提供以优惠价格在线购买Windows、Office产品和其他正版软件的机会。高校在校学生可直接通过指定网站购买微软产品,获得产品密钥,并获得微软800免费技术支持服务。

 

该网站上线之后,根据计划,所有中国大陆全日制高校在校学生(含专科、本科、硕士),均可以参与"微软校园先锋计划",以优惠价格购买到正版软件。如最新操作系统Windows7专业版,市场售价为1399 元人民币,在校大学生购买仅需199元;最新办公软件Office 2010校园版(功能和专业版相同),市场售价4899元,在校大学生购买仅需149元。目前,该网站仅预售这两款正版软件。

 

我们观察到,微软公司已经先后在全球八个国家和地区开展这样的针对学生的特惠计划,如美国、英国、澳大利亚等等,但是在中国地区的这次先锋计划,是史无前例的。

 

为什么这么说呢?因为,本次在中国开展的校园先锋计划,软件价格史无前例地低,软件版本史无前例地高。微软从未曾将专业版这样上档次的用于商业目的的 Windows 与 Office 软件以这么低的价格出售给市场。相信,这次微软中国并不是为了靠销售这样的低价高版本软件赚钱,而是真正地通过该计划关怀中国大陆地区的在校大学生,培养他们的正版化意识,同时让他们以低廉价格享受来自微软中国的正版软件与优质服务。

 

由于本次的低价高版行动几乎可以说是不赚钱或是亏损的,这次活动的参与者也仅限于没有经济来源的学生,对于在职人士和毕业的学生,将无法享受这次的超级优惠。因此,学生在预购或是购买时,提交以学校域名后缀结尾的教育网电邮地址(@xxx.edu.cn)将有助于购买请求的快速审批通过。当然,验证机制不仅此一条,对于那些校方不为在校大学生提供域名电邮的学校学生,微软可以通过验证学生证、录取通知书等方式来进一步验证审批。

 

另外,本次活动也采用在线下载的方式提供正版微软软件,低碳环保。产品密钥也是通过电子形式提供给购买者。这种密钥授权方式为 PKC,即 Product Key Card (产品密钥卡片),该方式常见于微软官方的在线销售。不过,由于是针对学生的,微软在本次在线销售中还专门赠送了这些软件的使用指南以及用于提升工作效率的技巧,大家都可以访问到。这可谓是超值的服务了。

 

 

截至本文撰写时间,短短三日不到,已有13968名学生在线预购了 Windows 7 及 Office 2010.

发表于 作者 shehuayu | 0 评论

Office 2010 Web App & 多人协同工作

信很多关注 2010 Microsoft® Office system 的用户会对 Office 2010 的 Web App 和 多人协同工作有所听闻。是的,随着今年6月18日的发布与上市,Office 2010 已经借助 SkyDrive 这个平台开启了 Word、Excel、PowerPoint和OneNote的完整 Web App 体验,同时这四大组件也支持多人协同工作。

根据本人以及俱乐部其他同事的测试,我们发现Excel仅支持 Web App 上的多人协同工作,Word 与 PowerPoint 仅支持通过客户端进行协同工作,而 OneNote 则既支持 Web App 协同工作,也支持客户端协同工作。

由于使用的是 Windows Live SkyDrive 的服务,协同工作的所有参与者以及 Web App 访问者需要注册一个 Windows Live ID 来登录该服务。另外,如果您要将您的文档共享给其他人让他们参与到多人协同编辑,那您还需在您的 SkyDrive 里面新建一个单独的文件夹,将这些用于协同编辑的文档放置其中,然后更改该文件夹的权限,向参与者发出邀请。别看我说的这么复杂,您试试就知道,其实很简单的~ 我喜欢的做法是,在 Windows Live 创建一个群组,直接授予该群组编辑、修改和删除文件夹中文档的权限,然后把参与协同工作的人添加进该群组即可。

本月20日晚,我们俱乐部通过 Live Meeting 给部分大学生介绍了一些 Office 方面的排版知识,中间也演示了这个 Office 2010 的协同编辑功能,现在我将视频中的这段演示截取出来,放在下面供大家观看 J

发表于 作者 shehuayu | 0 评论

用 Word 2010 更加方便地修剪图片

果您想将一幅图片裁剪成一朵云的样子,该怎么做呢?如果您想将图文与文字生动地组合在一起,又该怎么办呢?

在 Word 2010 之前,您可能需要花上很多时间去利用第三方图像处理软件去实现您的愿望,然而有了 Word 2010,我们一起来看看这一操作是多么的简单便捷吧~

 

比如,我希望将插入的一幅菊花的图片修剪成一朵云彩的样子,我们只需选中这幅图片,

 

 

然后单击裁减按钮下方的箭头,选择"裁剪为形状",再选择你满意的形状即可,我们这里选择云朵的形状。

 

 

裁减后的效果就变成了这个样子:

 

 

呵呵,是不是很方便呢?

 

还有更炫的呢~借助SmartArt功能,Word 2010 还可以为您实现图像与文字组合的几种更加高级的版式。

例如,我们现在继续选中这幅图片,然后选择其中的一种版式(您是可以通过鼠标悬停来进行实时预览的)即可。

 

 

例如我们应用了名叫"升序图标重点流程"的版式,效果是这样的:

我们完全可以编辑"文本"处的内容,或是向其添加更多的形状,也可以直接应用别的版式。

例如,这是我们向其添加一个形状并且编辑文字后的效果:

发表于 作者 shehuayu | 0 评论

如何控制Word里面的多级列表?

控制Word的自动编号或是多级列表,对于很多人来说,也许一直以来都是非常头痛的问题。今天我们就来说说,如何正确控制自动编号/多级列表功能。

我们在这里就说说"最难"的多级列表吧,掌握了多级列表,自动编号就显得简单多了。

 

首先,单击Word中的多级列表按钮,并且选择"定义新的多级列表…" 。

然后,我们在弹出的对话框中,设置每一级别的编号具体样式,例如,第三级我们使用阿拉伯数字"1,2,3"这种样式,然后在"输入编号的格式"字段为其加上括号的样式,在右栏我们可以看见预览。

 

 

现在,我们可以点击确定按钮来应用这样的一种符合你心意的自定义多级列表。确定之后,我们可以看到Word已经为我们插入了第一级的第一个标题编号——"一、"。

接下来,我们只需配合快捷键输入各个级别的标题即可。在同一级创建下一个标题就用回车即可,要切换到下一级标题级别,只需在回车后按下 Tab键即可;若要接下来创建上一级别的标题,回车后按住 Shift+Tab 组合键即可。

若要将某个标题向上移动至上一标题之前,先将光标定位至该标题,然后使用组合键 Alt+Shift+ 即可;同理,若要将当前的标题向下移动,只需按下组合键 Alt+Shift+ 即可。

如果您要在标题下方输入一些具体内容,而内容是不需要编号的,那么您就需要暂停自动编号啦。很简单,不要直接回车,而是使用 Shift+Enter 组合键,这样就创建了一个能够暂停编号的人工换行符了,它也具有回车符的功能——切换到下一行。当然,如果和您不希望使用人工换行符,觉得它产生的缩进不符合您的要求,那么您也可以直接单击目前处于选中状态的"编号"图标,这样子就可以取消它的按下状态,自动编号也就停止了。那么接下来的某个时刻,您又想继续自动编号了怎么办呢?也很简单,只需再次单击多级列表按钮,然后选择"当前列表"下面的一个列表样式即可,此时,Word会从"一、"开始新的列表编号。如果您需要继续前面的编号,您可以选中这个"一、",然后用鼠标右键单击它并选择"继续编号"即可。这样,您的列表便与之前的列表接上了。

发表于 作者 shehuayu | 1 评论

如何确保系统崩溃时能够生成内存转储文件?

为了成功得到系统自动生成的内存转储文件,或者您需要选择生成的转储文件的类型,请务必确保系统中"启动和故障恢复"的相关配置如下:

 

1、写入小内存转储,如下图所示:

 

2、写入核心内存转储,如下图所示:

 

"启动和故障恢复"对话框可以通过以下方式打开:
1、单击"开始"菜单,在搜索框内键入"sysdm.cpl"(不带引号)并回车;
2、在打开的"系统属性"对话框内,切换到"高级"选项卡;
3、找到"启动和故障恢复"这个区域,并点击其中的"设置"按钮。

 

如果您配置的是写入"小内存转储(128k)",那么在发生系统崩溃并重新启动之后,请上传%SystemRoot%\Minidump文件夹内的.dmp文件,如果文件有很多,请尽量上传最近一到两次的。这里的dump文件名中会有一串数字,表示的是文件生成的日期,格式为"月日年",您可以据此判断哪些文件是最近生成的。

 

例如:Mini091909-01.dmp文件是2009年9月19日生成的,031210-15921-01.dmp文件是2010年3月12日生成的。

 

如果您配置的是写入"核心内存转储",那么在发生系统崩溃并重新启动之后,请上传%SystemRoot%\MEMORY.DMP这一个文件。上传之前,请务必压缩它

 

为了能让专业人士更好地帮助您查找系统崩溃原因、解决蓝屏故障,您可以在发表求助帖时将内存转储文件(*.dmp)于压缩后上传至在线存储服务,并将获取该文件的地址附在您的帖子中。

而对转储文件进行压缩可以极大地减小文件大小(尤其是核心内存转储),这样可以节省您的上传时间以及其他用户的下载时间。

若您要上传至 Windows Live SkyDrive 在线存储服务,请确保上传至"公共"文件夹或者是其他具有公开访问权限的文件夹,这样,其他用户才能够下载。

内存转储文件中可能会包含您系统的软件环境等信息,如果您认为这些是您的隐私并且不愿意被他人查看,请不要提供任何的内存转储文件给他人分析。

如果您上传的是小内存转储,而专业人士在需要通过得到核心内存转储才能做更进一步的分析时,请您根据提示再附上核心内存转储文件。

 

以下几种情况也将不能生成内存转储文件:

1. 您系统的虚拟内存被禁用,或者设置得太小;
2. 蓝屏之后的第一次重启不成功,比如,蓝屏之后的重启过程中再次崩溃;
3. 您的硬盘第一分区出现故障,不能将蓝屏的故障转储文件写入文件。

对于以上第一种情形,请将虚拟内存设置开启,并设置为合适的大小(让 Windows 自动管理分页文件或者设为物理内存大小的 1.5 倍左右);对于情况2与情况3,只有进行双机调试了。

发表于 作者 shehuayu | 0 评论
归档在:, ,

如何恢复未保存的版本?

您辛辛苦苦地编辑或是修改了一篇文档,可是退出Office时却意外击中了"不保存"按钮,怎么办呢?还有办法找回未保存的工作吗?没问题!Office 2010为您增加了这项全新的功能——恢复未保存的版本。下面,我以Word 2010为例,告诉您如何恢复未保存的版本。对于其他Office 2010程序,请参照类似的方法。

 

果您修改了以前保存过的一篇文档,只是退出时没有保存修改结果:


可以这样找回未保存的版本:

1.重新打开以前保存过的那份文档,点击"文件"按钮切换到后台视图;

2.单击"信息"页;

3.找到右边"版本"栏目下显示为"<时间>(当我没保存就关闭时)"的一个文件版本,单击这个版本即可。

 

 

果您新建了一篇以前从未保存过的文档,而退出时选择了"不保存":



可以这样找回未保存的版本:

1.启动Word 2010,点击"文件"按钮切换到后台视图;

2.单击"最近所用文件"页;

3.找到右下脚的"恢复未保存的文档"按钮,单击这个按钮即可选择文件进行恢复。



或者,您也可以这样操作:

1.启动Word 2010,点击"文件"按钮切换到后台视图;

2.单击"信息"页;

3.找到右边"版本"栏目左侧的"管理版本"按钮并点击它;

4.单击"恢复未保存的文档"按钮,根据提示选择需要恢复的文件。



Word 2010中,如果您成功恢复了一个未保存修改的版本,那么Word 2010会提示您选择"比较"或者"还原"这份未保存的文档。"比较"指的是将这个未保存就关闭的版本与之前保存过的版本进行对比,而"还原"是指用恢复的版本覆盖以前的版本保存。如果未保存的这份文档是新建的,那么恢复后,Word 2010会提示您将其另存为Word文档。

 

其他的Office 2010程序中,对于未保存修改的文件,恢复后仅提供"还原"选项,而未保存的新建文档仍会在还原后提供"另存为"选项。

 

注意:要使用Office 2010的这项新功能,请确保相关选项已启用(默认是启用的):

1.启动要启用此功能的Office 2010程序,单击"文件"按钮切换到后台视图;

2.单击后台视图左栏中的"选项"按钮;

3.在弹出的"选项"对话框中左栏部分,单击"保存"按钮以切换到保存选项界面;

4.确保右侧的保存选项中,"保存自动恢复信息时间间隔"与"如果我没有保存就关闭,请保留上次自动保留的版本"两项前的复选框被选中。(以Word 2010为例,如下图所示:)




外,正如上图所示,恢复未保存版本的这一功能完全依靠自动保存功能。如果您编辑文档的时间小于设置的"保存自动恢复信息时间间隔"(默认10分钟)而又关闭了Office 2010程序,那么您的文件是无法恢复未保存版本的。

 

当退出时的确认对话框中含有"如果单击 '不保存',将临时提供此文件的最新副本"字样时,Office 2010程序才已经为您自动保存了(至少)一个版本,您可以放心关闭,并且可以恢复未保存的版本。

发表于 作者 shehuayu | 0 评论

高效便捷地创建单元格数据图表

能想象折线图、柱状图这些图表被放在一个小小的单元格中的样子吗?Excel 2010的迷你图功能为您提供了这样的便捷体验,让您高效便捷地创建单元格数据图表!

 

1.打开您想要创建迷你图的Excel工作簿(如果它是Excel 97-2003 工作簿,请先点击"文件"按钮,转到后台视图,在"信息"页面中,点击"转换"按钮并根据提示保存.xlsx格式的工作簿),单击"插入"标签页;

2.点击"迷你图"功能组里的任意一个按钮,如"折线图"按钮;



3.在"创建迷你图"对话框中,分别编辑"数据范围"和"位置范围"两个参数,每次编辑时,通过鼠标指针直接在工作簿中选取范围即可。这里的"数据范围"是指迷你图的数据来源,"位置范围"指将要放置迷你图的单元格范围;



4.单击"确定"按钮之后,您就会看见迷你图了。在本例中,我们创建了 Fifth Street 商店上半年的每月销售额柱状图;

 

需以上简单四步,您就成功创建了一个迷你图了。通过迷你图,我们可以快捷而清晰地发现,该商店在二月份与三月份的销售额最多。

 

然,您还可以通过自动填充功能让下面的商店都具备这样的迷你图,或者选中迷你图后更改其样式(如更改配色方案等)、类型(更改成折线图或盈亏图),还可以设置显示迷你图中的特殊点呢(如高点、低点、负点等等)。

发表于 作者 shehuayu | 0 评论

怎样在查看网页或文档的同时用OneNote 2010记录笔记?

是否经常在浏览网页或者查看各种文档时,看见有意思的内容却不知道怎样把它保存下来呢?别急,让我来帮助您吧~

下面,我们以记录网页上的内容为例,告诉您如何利用OneNote 2010轻松记录笔记。文档可以采用同样的方法。

 

制粘贴法:

1.浏览网页,找到您想要记录的内容,并保持网页窗口位于前端;

2.按下Win+Shift+N快捷键呼出OneNote应用程序并选择您要记录到的笔记,或者按下Win+N快捷键呼出OneNote以创建新速记;

3.点击位于OneNote用户界面左上角中的"停靠到桌面"按钮,或者使用快捷键Ctrl+Alt+D,使OneNote自动停靠到网页窗口的右侧;

4.选取网页中您要截取的各种内容,例如文本、图像等等,在选中的内容上右击鼠标,选择"复制",然后在右边的OneNote笔记中粘贴即可。若弹出确认记录链接的对话框,单击"确定"按钮即可。

 

过以上步骤,您会发现,当您在OneNote中指向从网页粘贴过来的内容时,其左侧会出现一个 IE 图标,指向它时,会浮动显示这段内容的来源网址以及网页的缩略图,点击它后,会自动通过浏览器打开该网页,是不是很方便呢?呵呵。

 

完成记录后您可以通过再次单击OneNote左上角的"停靠到桌面"按钮或是使用快捷键Ctrl+Alt+D来还原OneNote窗口。

 

 

幕截图法:

如果您想记录的网页并不允许您复制上面的内容,那不妨试试屏幕截图的方法吧。

1.浏览网页,找到您想要记录的内容,并保持网页窗口位于最前端;

2.按下Win+Shift+N快捷键呼出OneNote应用程序并打开您要记录到的笔记,或者按下Win+N快捷键呼出OneNote以创建新速记;

3.点击"插入"标签页,在"图像"功能组中按下"屏幕剪辑"按钮;

4.此时将会自动转到位于最前端的网页窗口,并且屏幕区域被白色覆盖,鼠标指针变成十字状。您只需按住鼠标左键不放,拖动十字指针选择您要截取的区域,然后松开鼠标左键,截图就完成了。截取的图像会自动插入到刚才打开的OneNote笔记中。

发表于 作者 shehuayu | 0 评论

如何将OneNote笔记与Word文档链接?

是否想将Word文档中的部分内容复制到OneNote笔记中,并期望以后能从OneNote里直接查找到这段文字的原始出处呢?我们来看看如何实现这一愿望吧。

 

法一:

1. 打开您的Word文档,点击"审阅"标签页;

2. 点击OneNote功能组中的"链接笔记"按钮,如下图所示:



3. 在弹出的对话框中选择要与本Word文档进行链接的OneNote笔记,既可以选择已有的某个笔记,也可以选择"未归档笔记"下的"Unfiled Notes"来创建新的笔记:



4. 选择完之后,单击确定按钮,您会发现OneNote将打开您所选择的笔记并自动贴附到当前Word文档的右侧。

5. 选取Word文档中的文字并复制,然后在右边的OneNote笔记中粘贴即可。若弹出确认链接的对话框,单击"确定"按钮即可。

 

过以上步骤,您会发现,当您在OneNote中指向从Word复制过来的内容时,其左侧会出现一个Word图标,点击它时,将会自动帮您打开原始的Word文档并高亮显示被拷贝的那段文字:

 

当然,还有一个通用的办法:

 

法二:


1. 打开您的Word文档,并保持窗口处于最前端;

2. 按下Win+Shift+N快捷键呼出OneNote应用程序并选择您要链接到的笔记,或者按下Win+N快捷键呼出OneNote以创建新速记;

3. 点击位于OneNote用户界面左上角中的"停靠到桌面"按钮,或者使用快捷键Ctrl+Alt+D,使OneNote自动停靠到Word文档的右侧;


4. 选取Word文档中的文字并复制,然后在右边的OneNote笔记中粘贴即可。若弹出确认链接的对话框,单击"确定"按钮即可。

 

注意:不论是哪种方法,在创建完链接笔记后您都可以通过再次单击OneNote中的"停靠到桌面"按钮或是使用快捷键Ctrl+Alt+D来还原OneNote窗口。

发表于 作者 shehuayu | 1 评论

Windows Media Center 互联网视频功能排错指南

软(中国)于2010年5月19日晚正式向大众推出了用于 Windows 7 中 Windows Media Center 的互联网视频功能,即早已在美国等地推出的 Internet TV 服务,并且支持搜索和节目指南。

虽说这是个激动人心的功能,但是根据反馈,部分用户在19日之后打开 Windows Media Center 时,并不能访问该功能,看到的是下面这种界面:

下面,我将为您提供一种简易的解决方案,使您的 Windows Media Center 能够体验到新的 互联网视频 功能。

注意:

在开始前,需要提醒大家的是,步骤中包含一些命令行命令语句,如果您不是有经验的 Windows 高级用户,请获取我为方便普通计算机用户而预先编写好的两个命令文件 WMCForceUpdate.cmdWMCReset.cmd ,我已经他们压缩到一个ZIP文档中,并且上传至SkyDrive 了,您可以前往此处下载:
http://cid-3222d068881c5251.skydrive.live.com/embedicon.aspx/.Public/Windows%20Media%20Center%20%e7%bd%91%e7%bb%9c%e8%a7%86%e9%a2%91%e9%97%ae%e9%a2%98%e8%a7%a3%e5%86%b3%e6%96%b9%e6%a1%88/WMC^_iTV^_Solution.zip

当然,如果您不想下载或是下载不了,也可以把下文中包含的两部分源代码分别保存成两个 cmd 文件,做法是:
启动"记事本"(Notepad.exe),将源代码粘贴进去,然后选择"文件 (F)""另存为 (A) …",在"另存为"对话框的下部,将"保存类型 (T)"更改为"所有文件 (*.*)",最后在"文件名 (N)"中键入您想要的文件名,如 WMCForceUpdate ,并加上扩展名 .cmd 。就像这样:


了,我们言归正传,看看如何解决此问题:

1. 尝试强制性更新 Windows Media Center 及其组件。右键单击 WMCForceUpdate.cmd ,选择" 以管理员身份运行 (A) ",在弹出的「用户帐户控制」窗口中点击"是 (Y)",您将会看见这样的窗口:



请不要关闭此窗口,它执行的是联网更新过程,可能需要310分钟左右或者更长,这取决于您的网络速度。在完成之后, Windows Media Center 会自动启动,然后您便可以检查其中"电视"部分是否正确出现了"互联网视频""指南""搜索"三个项目。如果出现了这三个项目,说明 Windows Media Center 已经成功启用了网络电视功能,你不必再继续接下来的各步骤,只需重新打开 Windows Media Center 并且进入"互联网视频"进行进一步的配置并体验此功能;如果还是没有出现这些项目,请继续接下来的第2步。

在这里,给出 WMCForceUpdate.cmd 所包含的源代码:

cd /d %windir%\ehome

start /wait mcupdate -uf

ehshell.exe "/mcesuperbar://tv?live=true"

exit

2. 如果强制更新过程没有作用,接下来需要重置 Windows Media Center 。这是目前最为简便且不易出错的重置过程了,只需右键单击 WMCReset.cmd ,选择" 以管理员身份运行 (A) ",在弹出的「用户帐户控制」窗口中点击"是 (Y)",您将会看见这样的窗口:



也请不要关闭此窗口,它执行的是停止 Windows Media Center 后台服务及相关进程、清除 Windows Media Center 数据库并重置的任务,此过程执行起来较为迅速,应该不到30秒。在完成之后, Windows Media Center 会自动启动,并且对您进行如下提示:



请在此提示中单击"确定"。接下来,您会开建这样的界面:



请在此界面中点击"继续"。下面,您应该看见此界面:



在此界面中,请点击"快速"。然后,您的 Windows Media Center 就被成功重置了。
接下来,请立即关闭 Windows Media Center 窗口,并接着执行上面的步骤1

在这里,给出 WMCReset.cmd 所包含的源代码:

net stop ehsched

net stop ehrecvr

taskkill /t /f /im ehrec.exe

taskkill /t /f /im ehshell.exe

taskkill /t /f /im mcupdate.exe

taskkill /t /f /im mcglidhost.exe

taskkill /t /f /im mcstoreexplorer.exe

taskkill /t /f /im ehtray.exe

del /f /s /q %programdata%\Microsoft\ehome\*.*

cd /d %windir%\ehome

start /wait mcupdate -MediaCenterRecoveryTask

ehshell

exit

上就是此问题的解决方案了,本方案利用系统自带的合法命令进行最简化的操作,其中一些命令参数查阅自微软官方支持网站以及 MSDN ,也应该是目前最为简单和保险的一种方案了,笔者以及部分遇到此问题的用户在本文发布之前,已经对本方案进行了测试,均未出现问题。如果您遇到了任何问题,欢迎在此留言说明,也可以访问测试过本方案的一位朋友——杨浩的人人网页面(您可能需要注册),向他咨询一些操作经验:http://www.renren.com/profile.do?id=257355806

后,在此向大家作几个较为重要的说明,并向大家推荐几个相关的资源:

1. 本文仅用于解决中国用户Windows 7 中 Windows Media Center 在2010年5月20日之后仍不能使用 互联网视频 功能的问题,不适用于除 Microsoft® Windows® 7 之外的任何操作系统及软件,也可能不适用于区域和语言设置为除"中国"以外的一些区域设置。(因为 Windows Media Center 中的这个 互联网视频 功能会根据区域和语言的不同而有出入,比如一些国家和地区没有 Internet TV 服务)

2. 此方案对于 美国 等其他具备 Internet TV 功能的区域的用户来说同样适用,因为 WMCReset.cmd 代码中不包含卸载 Internet TV 服务播放器及其他插件的命令,如果您之前为观看 Internet TV 安装过此类程序而后来仅仅是 Windows Media Center 出现此问题,那么应用本解决方案后,您可以不用再次下载相关的插件及程序,因为它们"立即可用"。(不同区域的 Internet TV 服务提供商不同,因此播放程序和插件也不相同,例如,美国使用 Netflix 服务,英国使用的是 Sky Player,中国使用的是新浪视频、搜狐视频及国际在线。对于中国用户,一般会安装 "Windows Media Center 的互联网视频"程序和"Windows Media Center Add-in for Flash"两样。这一类的用于 Internet TV 而额外安装的组件,可以直接通过控制面板的"卸载程序"进行卸载)

3. 本解决方案也同样适用于 系统还原到安装"互联网视频"功能之前的某一时间点后 "互联网视频"入口不再出现 的情形。

4. 在重置 Windows Media Center 的步骤中, WMCReset.cmd 并不是完全清除 Windows Media Center 的设置,而是清除其主要数据库及文件,因为这样做已经可以让 Windows Media Center 再次运行首次设置向导,运行该向导后,数据库及相关注册表设置会被自动覆盖,这与严格地清除 Windows Media Center 的所有设置等效。如果您一定要严格清除所有设置的命令,那么您需对 WMCReset.cmd 作以下更改:

net stop ehsched

net stop ehrecvr

taskkill /t /f /im ehrec.exe

taskkill /t /f /im ehshell.exe

taskkill /t /f /im mcupdate.exe

taskkill /t /f /im mcglidhost.exe

taskkill /t /f /im mcstoreexplorer.exe

taskkill /t /f /im ehtray.exe

del /f /s /q %programdata%\Microsoft\ehome\*.*

rd /s /q %ProgramData%\Microsoft\eHome

reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Media Center\Settings" /f

reg delete "HKLM\Software\Microsoft\Windows\CurrentVersion\Media Center\Service\Video" /f

cd /d %windir%\ehome

start /wait mcupdate -MediaCenterRecoveryTask

ehshell

exit


重置 Windows Media Center 之后,您可能会丢失已录制的直播电视、电子节目指南设置、视频/图片/音乐库设置。

5. 上传到 SkyDrive 的压缩文档 WMC_iTV_Solution.zip 里面还包含了一个URL快捷方式文件——立即启动 互联网视频.url ,您可以把它放在桌面,双击它就可以直接启动 Windows Media Center 的 互联网视频(Internet TV)功能。前提是您已经成功更新到了这项 Internet TV 新功能。此快捷方式的代码也是利用到了 Windows Media Center 的命令行参数,形式为。具体快捷方式代码如下:

windowsmediacenterapp:{e6f46126-f8a9-4a97-9159-b70b07890112}\{6a0bf4f6-4ea9-4334-96ea-44f3e813be83}?EntryPointParameters=&ProviderID=6740e5f4-5c27-4335-97df-0a56f1c10ad2

当然,您也可以建立文件快捷方式:

%windir%\ehome\ehshell.exe /entrypoint: {e6f46126-f8a9-4a97-9159-b70b07890112}\{6a0bf4f6-4ea9-4334-96ea-44f3e813be83}

其实上面两种利用到的都是一个参数形式——ehshell.exe /entrypoint:{application_guid}\{entrypoint_guid}

6. 本次解决的这个问题只与 Windows Media Center 自身的组件更新程序有关,与 Windows Update、Microsoft Update 无关,需要更新到的这个 Internet TV 功能不存在于微软发布的 修补程序(Update补丁包)中。另外,您可能在 Media Center 日志中经常看到“NetTV 包不可用”的记录,如下图所示:

 

需要说明的是,此记录是正常的,与本文解决的这个问题无关。

7. 最后,推荐一些关于本内容以及关于 Windows Media Center Internet TV 功能的在线资源:
(有些资源是英文的,有些位于人人网,您可能需要注册才能访问)

发表于 作者 shehuayu | 2 评论
归档在:, ,
更多内容 下一页 »