生成Cab后,快捷方式没有图标?

VR_Soft 2006-05-26 11:46:13
我用.NET生成Cab安装程序后
我在项目属性中指定了图标,icon的图标,但安装后,在开始菜单的程序中显示不了
为什么?
...全文
63 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
什么是实用技巧,就是那种能经常用得着的值得收藏起来的应用方法。本文 中笔者就将向大家介绍35种Windows操作系统技巧,招招实用,招招值得你把 他保存到你的电脑中或者把这篇文章的地址收藏到收藏夹里。   1、如何实现关机时清空页面文件   打开“控制面板”,单击“管理工具→本地安全策略→本地策略→安全 选项”,双击其中“关机:清理虚拟内存页面文件”一项,单击弹出菜单中 的“已启用”选项,单击“确定”即可。   2、如何自行配置Windows XP的服务   如果你是在单机使用Windows XP,那么很多服务组件是根本不需要的, 额外的服务程序影响了系统的速度,完全可将这些多余的服务组件禁用。单 击“开始→控制面板→管理工具→服务”,弹出服务列表窗口,有些服务已 经启动,有些则没有。我们可查看相应的服务项目描述,对不需要的服务予 以关闭。如“Alerter”,如果你未连上局域网且不需要管理警报,则可将其 关闭。   3、Smartdrv程序有什么作用   现象:在许多有关Windows XP安装的介绍文章中都提到:“如果在DOS下 安装Windows XP非常慢,肯定是安装前未运行Smartdrv.exe。我想问这个 Smartdrv.exe文件有什么饔?具体如何使用?   Smartdrv.exe这个文件对于熟悉DOS的朋友肯定很清楚,主要作用是为磁 盘文件读写增加高速缓存。大家知道内存的读写速度比磁盘高得多,如果将 内存作为磁盘读写的高速缓存可以有效提高系统运行效率。Smartdrv.exe这 个文件在Windows各个版本的安装光盘中或是硬盘上的Windows/command/里都 有,只有几十KB,把这个文件复制到软盘下,启动系统后直接运行这个程序( 可以不加参数,该程序会自动根据内存大小分配适当的内存空间作为高速缓 存),再安装Windows XP即可。另外提醒大家,这个程序在安装完Windows后 ,不要运行,否则Windows可用内存将减少。   4、Win32k.sys是什么文件   现象:我刚装了Windows XP,可是接下去再装毒霸就发现病毒,位于 F:WINNT SYSTEM32里的Win32k.sys文件,删又不可删,隔离又不行,在 Windows 98下或DOS下删就会导致Windows XP不可启?,请问该文件是干什么 用的,有什么方法解决?   这个文件是Windows XP多用户管理的驱动文件。在 X:WindowsSystem32Dllcache目录下有此文件的备份。只要将此备份拷到 X:WindowsSystem32下替代带病毒的文件即可。做一张Windows 98启动盘,并 将Attrib.exe文件拷入软盘,此文件在装有Windows 98的机器上的 X:WindowsCommand目录下。在BIOS的Advanced BIOS Features 中将启动顺序 调整为从A盘启动,进入DOS后,进入X:WindowsSystem32目录,输入Attrib -s -h -r win32k.sys,再进入X:WindowsSystem32dllcache目录下输入同样 命令,再用copy win32k.sys X:windowsSystem32覆盖原文件,再重新启动即 可。   5、Windows XP的开机菜单有什么含义   现象:最近我安装了Windows XP操作系统,我知道在启动时按F8键或当 计算机不能正常启动时,就会进入Windows XP启动的高级选项菜单,在这里 可以选择除正常启动外的8种不同的模式启动Windows XP。请问这些模式分别 代表什么意思?   (1)安全模式:选用安全模式启动Windows XP时,系统只使用一些最基本 的文件和驱动程序启动。进入安全模式是诊断故障的一个重要步骤。如果安 全模式启动后无法确定问题,或者根本无法启动安全模式,那你就可能需要 使用紧急修复磁盘ERD的功能修复系统了。   (2)网络安全模式:和安全模式类似,但是增加了对网络连接的支持。在 局域网环境中解决Windows XP的启动故障,此选项很有用。   (3)命令提示符的安全模式:也和安全模式类似,只使用基本的文件和驱 动程序启动Windows XP。但登录后屏幕出现命令提示符,而不是Windows桌面 。   (4)启用启动日志:启动Windows XP,同时将由系统加载的所有驱动程序 和服务记录到文件中。文件名为ntbtlog.txt,位于Windir目录中。该日志对 确定系统启动问题的准确原因很有用。   (5)启用VGA模式:使用基本VGA驱动程序启动Windows XP。当安装了使 Windows XP不能正常启动的新显卡驱动程序,或由于刷新频率设置不当造成 故障时,这种模式十分有用。当在安全模式下启动Windows XP时,只使用最 基本的显卡驱动程序。   (6)最近一次的正确配置:选择“使用‘最后一次正确的配置’启动 Windows XP”是解决诸如新添加的驱动程序与硬件不相符之类问题的一种方 法。用这种方式启动,Windows XP只恢复注册表项 HklmSystemCurrentControlSet下的信息。任何在其他注册表项中所做的更改 均保持不变。   (7)目录服务恢复模式:不适用于Windows XP Professional。这是针对 Windows XP Server操作系统的,并只用于还原域控制器上的Sysvol目录和 Active Directory目录服务。   (8)调试模式:启动Windows XP,同时将调试信息通过串行电缆发送到其 他计算机。如果正在或已经使用远程安装服务在你的计算机上安装Windows XP,可以看到与使用远程安装服务恢复系统相关的附加选项。 6、如何彻底删除XP   现象:我装了Windows Me和Windows XP双系统,都是FAT32格式。C盘装 Windows Me,E盘装Windows XP。昨天,Windows XP系统丢失了SYSTEM32.DLL ,启动不了。于是我在进入Windows Me系统内,在E盘直接删除Windows XP。 但是,每次开机都出现多系统启动菜单,供选择。我该怎样才可以彻底删除 XP?   用一张Windows 9x/Me的启动盘启动,在“A:”下输入“SYS C:”,给C 盘重新传系统即可。   7、如何处理Windows XP不能自动关机现象   现象:我的Windows XP有时候不能自动关闭电脑,请问应该怎么办?   安装完Windows XP之后,有些计算机在单击关闭电脑之后并不能自动关 闭,而需像以前的AT电源一样手动关闭。这主要是Windows XP未启用高级电 源管理。修正方法:单击“开始→控制面板→性能和维护→电源选项”,在弹 出的电源选项属性设置窗口中,单击“高级电源管理”并勾选“启用高级电 源管理支持”。   8、如何创建“锁定计算机”的快捷方式   因有急事而需要离开,但又不希望电脑进行系统注销,该怎么办?你完 全可以通过双击桌面快捷方式来迅速锁定键盘和显示器,且无需使用 “Ctrl+Alt+Del”组合键或屏幕保护程序。操作方法:在桌面上单击鼠标右 键,在随后出现的快捷菜单上指向“新建”,并选择“快捷方式”。接着, 系统便会启动创建快捷方式向导。请在文本框中输入下列信息: rundll32.exe user32.dll, LockWorkStation,单击“下一步”。输入快捷 方式名称。你可将其命名为“锁定工作站”或选用你所喜欢的任何名称,单 击“完成”。你还可对快捷方式图标进行修改(我最喜欢的一个是由 Shell32.dll所提供的挂锁图标)。如需修改快捷方式图标,请执行下列操作 步骤:右键单击“快捷方式”,并在随后出现的快捷菜单上选择“属性”。 选择“快捷方式”选项卡,接着,单击“更改图标”按钮。在以下文件中查 找图标文本框中,输入Shell32.dll,单击“确定”。从列表中选择所需图标 ,并单击“确定”。你还可为快捷方式指定一组快捷键,比如“Ctrl+Alt+L ”。这种做法虽然只能帮助你节省一次击键,但却可使操作变得更加灵便。 如需添加快捷键组合,请执行下列操作步骤:右键单击“快捷方式”,并在 随后出现的快捷菜单上选择“属性”。选择“快捷方式”选项卡,在快捷键文 本框中,输入任何键值,而Windows XP则会将其转换成快捷键组合(一般应采 取Ctrl+Alt+任意键的形式)。如欲锁定键盘和显示器,只需双击相关快捷方 式或使用所定义的快捷键即可。   9、如何调整桌面图标颜色质量   在桌面空白处单击鼠标右键,在打开的“显示 属性”对话框中选择“ 设置”选项卡,通过“颜色质量”下拉列表你可以调整计算机的颜色质量。 你也可以通过编辑注册表来调整桌面图标的颜色质量,具体操作步骤:   打开注册表编辑器,进入HKEY_CURRENT_ USERControl PanelDesktopWindowMetrics子键分支,双击Shell Icon BPP键值项,在打开 的“编辑字符串”对话框中,“数值数据”文本框内显示了桌面图标的颜色 参数,系统默认的图标颜色参数为16。这里提供的可用颜色参数包括 :4表 示16种颜色,8表示256种颜色,16表示65536种颜色,24表示1600万种颜色, 32表示True Color(真彩色)。你可以根据自己的不需要选择和设置你的桌面 图标颜色参数。单击“确定”关闭“编辑字符串”对话框。注销当前用户并 重新启动计算机后设置就生效。   在桌面空白处单击鼠标右键,在打开的“显示属性”对话框中选择“外 观”选项卡,在这里你可以方便地对整个桌面、窗口或者其他项目的字体和 图标大小进行调整。   不过,用这种方式设置图标大小有一定局限性,比如,用户只能选择系 统已经提供的桌面大小方案,不能自己任意设置桌面图标的大小。如果你想 随心所欲地对桌面图标大小进行调整,可以通过编辑注册表来达到目的。具 体操作步骤是: 打开注册表编辑器,进入HKEY_CURRENT_ USERControl PanelDesktopWindowMetrics子键分支,双击Shell Icon Size键值项,在打 开的“编辑字符串”对话框中,“数值数据”文本框内显示了桌面图标的大 小参数,系统默认29,用户可以根据自己的需要设置参数大小(参数越大,桌 面图标也越大),然后单击“确定”关闭“编辑字符串”对话框。当你注销当 前用户并重新启动计算机后设置就生效。   10、如何对系统声音进行选择与设置   系统声音的选择与设置就是为系统中的事件设置声音,当事件被激活时 系统会根据用户的设置自动发出声音提示用户。 选择系统声音的操作步骤如 下:   (1)在“控制面板”窗口中双击“声音及音频设备”图标,打开“声音及 音频设备”属性对话框,它提供了检查配置系统声音环境的手段。这个对话 框包含了音量、声音、音频、语声和硬件共5个选项卡。   (2)在“声音”选项卡中,“程序事件”列表框中显示了当前Windows XP 中的所有声音事件。如果在声音事件的前面有一个“小喇叭”的标志,表示 该声音事件有一个声音提示。要设置声音事件的声音提示,则在“程序事件 ”列表框中选择声音事件,然后从“声音”下拉列表中选择需要的声音文件 作为声音提示。   (3)用户如果对系统提供的声音文件不满意,可以单击“浏览”按钮,弹 出浏览声音对话框。在该对话框中选定声音文件,并单击“确定”按钮,回 到“声音”选项卡。   (4)在Windows XP中,系统预置了多种声音方案供用户选择。用户可以从 “声音方案”下拉表中选择一个方案,以便给声音事件选择声音。   (5)如果用户要自己设置配音方案,可以在“程序事件”列表框中选择需 要的声音文件并配置声音,单击“声音方案”选项组中的“另存为”按钮, 打开“将方案存为”对话框。在“将此配音方案存为”文本框中输入声音文 件的名称后,单击“确定”按钮即可。如果用户对自己设置的配音方案不满 意,可以在“声音方案”选项组中,选定该方案,然后单击“删除”按钮, 删除该方案。   (6)选择“音量”选项卡,打开“音量”选项卡。你可以在“设备音量” 选项组中,通过左右调整滑块改变系统输出的音量大小。如果希望在任务栏 中显示音量控制图标,可以启用“将音量图标放入任务栏”复选框。   (7)你想调节各项音频输入输出的音量,单击“设备音量”区域中的“高 级”按钮,在弹出的“音量控制”对话框里调节即可。这里列出了从总体音 量到CD唱机、PC扬声器等单项输入输出的音量控制功能。你也可以通过选择 “静音”来关闭相应的单项音量。   (8)单击“音量”选项卡中的“扬声器设置”区域中的“高级”按钮后, 在弹出的“高级音频属性”对话框你可以为自己的多媒体系统设定最接近你 的硬件配置的扬声器模式。   (9)在“高级音频属性”对话框中选择“性能”选项卡,这里提供了对音 频播放及其硬件加速和采样率转换质量的调节功能。要说明的是,并不是所 有的选项都是越高越好,你需要根据自己的硬件情况进行设定,较好的质量 通常意味着较高的资源占有率。   设置完毕后,单击“确定”按钮保存设置。 11、如何分配临时管理权限   许多程序在安装过程中都要求你具备管理权限。这里介绍了一种以普通 用户身份登录的情况下,临时为自己分配管理权限的简单方法。在右键单击 程序安装文件的同时按住“Shift”键。在随后出现的快捷菜单中单击“运行 方式”,输入具有相应管理权限的用户名和密码。这种方式对于开始菜单上 的应用程序同样适用。   12、如何关闭Windows XP的自动播放功能   一旦你将多媒体光盘插入驱动器,自动运行就会从驱动器中读取数据, 这会造成程序的设置文件和在音频媒体上的音乐立即开始。你可以用下面这 个办法关闭这个功能:打开“开始→运行”,在对话框中输入“gpedit.msc ”命令,在出现“组策略”窗口中依次选择“在计算机配置→管理模板→系 统”,双击“关闭自动播放”,在“设置”选项卡中选“已启用”选项,最 后单击“确定”按钮即可。   13、如何恢复被破坏的系统引导文件   现象:我只安装了Windows XP系统,但在开机时显示“BOOT.INI非法, 正从C:WINDOWS启动”,然后就进入了启动状态,并且也能照样工作,请问 这是怎么一回事,能否在不重装系统的情况下使系统恢复到正常启动状态?   出现这种情况是因为C盘下面的“Boot.ini”文件被破坏了。但是由于你 的机器中只有一个操作系统,当然它就是默认的操作系统,即使“Boot.ini ”文件被破坏了,也将自动地引导该系统进行装载。   解决的办法是建立一个“Boot.ini”文件即可。其内容为:   [Boot Loader]   Default=C:   [Operating Systems]   C:=“Microsoft Windows xp”   14、如何恢复输入法图标   现象:本人使用Windows XP中文版,不慎使任务栏隐藏了输入法图标, 请问该如何恢复输入法图标。   打开“控制面板”,双击“区域和语言选项”图标,进入“区域和语言 选项”对话框,选择“语言”选项卡,单击“详细信息”按钮,在弹出的对 话框中单击“语言栏”按钮,在接着出现的“语言栏设置”对话框中勾选“ 在桌面上显示语言栏”选项。这时候桌面会出现语言栏,单击右上角的最小 化按钮,输入法图标就回到任务栏中去了。   15、如何恢复误删除的boot.ini文件   现象:我第一次装Windows XP时,重启后没有任何问题。但是由于误操 作,删掉了C盘目录下的一个文件(文件名是:boot.ini),然后再重启时每次 都显示两行字:“boot.ini是非法的。现在正从C:/Windows/下启动”。然后 可以顺利进入Windows XP。但是速度明显慢了,比没删这个文件时慢了很多 ,而且,每次都要看见那两行字。请问如何修复?   boot.ini是系统启动时,需要查询的一个系统文件,它告诉启动程序本 计算机有几个操作系统、各系统的位置在哪里等信息。重新恢复的方法如下 :单击“开始”菜单,依次指向“程序→附件→记事本”,打开“记事本” ,在记事本里输入:   [boot loader]   timeout=30   default=multi(0)disk(0)rdisk(0)partition(1) Windows   [operating systems]   multi(0)disk(0)rdisk(0)partition(1)Windows=“Microsoft Windows XP Professional” /fastdetect   然后将它保存为名字是boot.ini的文件,并将此文件保存到C盘的根目录 下即可。   16、如何加快Windows XP窗口显示速度   我们可以通过修改注册表来改变窗口从任务栏弹出,以及最小化回归任 务栏的动作,步骤如下:打开注册表编辑器,找到HKEY_ CURRENT_USERControl PanelDesktop WindowMetrics子键分支,在右边的窗 口中找到MinAnimate键值,其类型为REG_SZ,默认情况下此健值的值为1,表 示打开窗口显示的动画,把它改为0,则禁止动画的显示,接下来从开始菜单 中选择“注销”命令,激活刚才所作的修改即可。   17、如何解决Windows XP关机出现英文提示   现象:我的Windows XP关机时会出现一个进度条,并提示“To return to windows and check the status of the program click cancel if you choose to end the program immediately you will lose any unsaved data. To end the program now click end.”然后就正常关机,但有时却不 出现,我想会不会与我的东方影都3的记忆播放有关,但关闭记忆播放功能也 无效,请问如何办?   这是因为你关闭Windows XP时还有程序在运行,请在关机之前保存并关 闭一切应用程序。如果直接单击“End”按钮,那么未保存的任务会丢失,这 时可以按“Ctrl+Alt+Del”打开任务管理器,然后关闭应用程序。如果在任 务管理器列表中为空,那么就在“系统进程”中将它关闭。如果不进行任何 操作,那么系统将在进度条到头时自动关闭未关闭的程序并关闭系统。请你 在关机之前关闭一切应用程序、系统驻留程序就不会出现这个提示了。当你 确定没有任何需要保存的任务时,可以不必理会此对话框。 18、如何控制桌面的图标显示   通常很多用户还是习惯于在桌面上保留“我的文档”及其他经常访问文 件夹快捷方式以及经常使用的程序快捷方式。如果你想在桌面上显示“我的 电脑”、“我的文档”、“网上邻居”、IE浏览器的快捷方式图标,只需进 行如下操作 :在桌面单击鼠标右键,在右键菜单中选择“属性”命令,在打 开的“显示 属性”对话框中选择“桌面”选项卡,单击“自定义桌面”按钮 ,打开“桌面”项目对话框。在“常规”选项卡的“桌面图标”栏中选择所 需项目的复选框,然后单击“确定”返回上一级对话框,再单击“应用”按 钮即可。   19、如何删除Windows XP的“更新”选项   对于大多数的用户来说,Windows XP的Windows Update功能似乎作用不 大,我们可以去掉它,操作步骤如下:打开注册表编辑器,找到 HKEY_CURRENT_USERSoftware MicrosoftWindowsCurrentVersionPoliciesExplorer子键分支,选择“编辑 ”菜单下的“新建”命令,新建一个类型为REG_DWord的值,名称为 NoCommonGroups,双击新建的NoCommon Groups子键,在“编辑字符串”文本 框中输入键值“1”,然后单击“确定”按钮并重新启动系统即可。   20、如何设置音频属性   打开“控制面板”,双击“声音及音频设备”图标,在“声音及音频设 备 属性”对话框中,选择“音频”选项卡,在该选项卡中,你可以看到与“ 声音播放”、“录音”和“MIDI音乐播放”有关的默认设备。当你的计算机 上安装有多个音频设备时,就可以在这里选择应用的默认设备,并且还可以 调节其音量及进行高级设置。   进行音频设置的操作步骤如下:   (1)在“声音播放”选项组中,从“默认设备”下拉列表中选择声音播放 的首选设备,一般使用系统默认设备。   (2)用户如果希望调整声音播放的音量,可以单击“音量控制”窗口,在 该窗口中,将音量控制滑块上下拖动即可调整音量大小。   (3)在该窗口中,用户可以为不同的设备设置音量。例如,当用户在播放 CD时,调节“CD音频”选项组中的音量控制滑块,可以改变播放CD的音量; 当用户播放MP3和WAV等文件时,用户还可以在“音量控制”窗口进行左右声 道的平衡、静音等设置。   (4)用户如果想选择扬声器或设置系统的播放性能,可以单击“声音播放 ”选项组中的“高级”按钮,打开 “高级音频属性”对话框,在“扬声器” 和“性能”选项卡可以分别为自己的多媒体系统设定最接近你的硬件配置的 扬声器模式及调节音频播放的硬件加速功能和采样率转换质量。   (5)在“录音”选项组中,可以从“默认设备”下拉列表中选择录音默认 设备。单击“音量”按钮,打开 “录音控制”对话窗口。用户可以在该窗口 中改变录音左右声道的平衡状态以及录音的音量大小。   (6)在“MIDI音乐播放”选项组中,从“默认设备”下拉列表中选择 MIDI音乐播放默认设备。单击“音量”按钮,打开“音量控制”窗口调整音 量大小。   (7)如果用户使用默认设备工作,可启用“仅使用默认设备”复选框。设 置完毕后,单击“应用”按钮保存设置。   21、如何设置语声效果   用户在进行语声的输入和输出之前,应对语声属性进行设置。在“声音 和音频设备 属性”对话框中,选择“语声”选项卡,在该选项卡中,用户不 但可以为“声音播放”和“录音”选择默认设备,而且还可调节音量大小及 进行语声测试。   (1)在“声音播放”选项组中,从“默认设备”下拉列表中选择声音播放 的设备,单击“音量”按钮,打开“音量控制”窗口调整声音播放的音量。 要设置声音播放的高级音频属性,单击“高级”按钮完成设置。   (2)在“录音”选项组中,从“默认设备”下拉列表中选择语声捕获的默 认设备,单击“音量”按钮,打开“录音控制”窗口调整语声捕获的音量。 要设置语声捕获的高级属性,单击“高级”按钮完成设置。   (3)单击“测试硬件”按钮,打开 “声音硬件测试向导”对话框,该向 导测试选定的声音硬件是否可以同时播放声音和注册语声。注释:要确保测 试的准确性,在测试之前必须关闭使用麦克风的所有程序,如语声听写或语 声通信程序。   (4)单击“下一步”按钮,向导开始测试声音硬件,并通过对话框显示检 测进度。   (5)检测完毕后,打开“正在完成声音硬件测试向导”对话框,通告用户 检测结果,单击“完成”按钮关闭对话框。   (6)设置完毕后,单击“确定”按钮保存设置。   22、如何手动使计算机进入休眠状态   现象:请问如何用手动方式使Windows XP的计算机进入休眠状态?   休眠功能是Windows XP提供的一项非常酷的特性,它“隐藏”在Shut Down(关机)对话框中。如果你的计算机支持休眠功能,那么借助以下技巧, 可通过手动方式使其进入休眠状态。 如需以手动方式使你的计算机进入休眠 状态,请执行以下操作步骤: 选择“开始→关闭计算机”,在关闭Windows 对话框中,选择“休眠”。当你的计算机进入休眠状态后,内存中的内容将 保存到硬盘上。当你将计算机唤醒时,进入休眠状态前打开的所有程序与文 档都将恢复到桌面上。如需在你的计算机上激活休眠支持特性,请执行以下 操作步骤:你必须以管理员、Administrators或Power Users组成员的身份登 录。如果你的计算机与某个网络建立了连接,那么网络策略设置可能会导致 这一操作过程无法实现。单击“开始→控制面板→性能和维护→电源选项” ,选择“休眠”选项卡,选中“启用休眠”,单击“确定”关闭电源选项对 话框。如果休眠选项卡不可用,则说明你的硬件设备无法支持该特性。   23、如何提高Windows XP的启动速度   使用微软提供的“Bootvis”软件可以有效地提高Windows XP的启动速度 。这个工具是微软内部提供的,专门用于提升Windows XP启动速度。下载解 压缩到一个文件夹下,并在“Options”选项中设置使用当前路径。之后从“ Trace”选项下拉菜单中选择跟踪方式。该程序会引导Windows XP重新启动, 并记录启动进程,生成相关的BIN文件。之后从Bootvis中调用这个文件,从 Trace项下拉菜单中选择“Op-timizesystem”命令即可。   Windows XP虽然提供了一个非常好的界面外观,但这样的设置也在极大 程度上影响了系统的运行速度。如果你的电脑运行起来速度不是很快,建议 将所有的附加桌面设置取消,也就是将Windows XP的桌面恢复到Windows 2000样式。   设置的方法非常简单:在“我的电脑”上单击鼠标右键,选择“属性” ,在“高级”选项卡中单击“性能”项中的“设置”按钮,在关联界面中选 择“调整为最佳性能”复选框即可。   此外,一个对Windows XP影响重大的硬件就是内存。使用256MB内存运行 Windows XP会比较流畅,512MB的内存可以让系统运行得很好。如果条件允许 ,最好增大内存。   24、如何为Windows XP减肥   Windows XP比以往的任何Windows系统都要庞大,其硬盘空间需求1.5GB 。虽然相对于能跑Windows XP的主流电脑来说,一般都拥有10GB以上的硬盘 ,但一些电脑发烧友有时还是乐于减少Windows XP的体积。   (1)删除驱动备份 :WindowsDriver cachei386目录下的Driver.cab文件 (73MB) 。   (2)删除Help文档(减掉40多MB) 。   (3)删除WindowsIme下不用的输入法(日文、韩文、约80MB) 。   (4)把我的文件、IE的临时文件夹转到其他硬盘(分区) 。   (5)把虚拟内存转到其他硬盘(分区)。   25、如何卸载Windows XP   现象:我原来使用的操作系统是Windows 98,最近听说Windows XP非常 好,就安装了该系统。第一次安装是从Windows 98中安装,装完后觉得不太 好,就格式化Windows XP的分区后重新从DOS安装到D盘,安装完后发现多重 启动菜单有三项(第一次装的Windows XP那一项还在),请问如何删除多余的 一项?另外,如果我要删除Windows XP,除了格式化D盘外,怎样才能将它彻 底删除?   Windows 98和Windows XP双系统的启动菜单是由C盘根目录下的一个文件 来控制的,通过修改该文件可以更改启动菜单。要想删除多余的Windows XP 项目,你可以打开C盘根目录下的boot.ini文件,其中有两行重复的“multi (0)…”,删除其中一行即可。要想彻底删除Windows XP,除了格式化它所在 分区之外,你还必须按下面的方法删除多重启动菜单和多余的系统文件:   (1)制作一张Windows 98启动盘,并将Windows 98下的sys.com文件拷入 该系统盘。   (2)用该启动盘启动,在A:>下执行sys C:命令。   (3)删除C盘根目录下多余的文件,这些文件包括:boot.ini、 bootfont.bin、bootsect.dos、ntdetect.com、pagefile.sys等。
包括NSIS安装包、NSIS编辑器以及很全的NSIS常用插件: NSIS 的插件 需要配合 Nullsoft Scriptable Install System(NSIS专业安装包制作工具) 才能使用。 NSIS 中文版下载地址: http://www.52z.com/soft/5228.html Animate : Animate 插件 AnimGif : 在程序中添加 GIF 动画 Base64 : 编码或解码普通文本成 Base64 编码 Blowfish : Blowfish 算法插件 BrandingURL : 将BrandingText变成链接的插件 ButtonEvent : 响应任何页面控件事件的插件 Cabdll : 以CAB方式压缩dll文件的插件 CABSetup : CABSetup 插件 CDROM : 控制 CD-ROM 并可读取 CD-ROM 信息 ChangeRes : 调整屏幕分辨率、刷新率、色深,注意不可超出屏幕最大分辨率 Chngvrbl : 自定义NSIS默认临时文件夹插件 CRCCheck : 用于检查指定档案的CRC32数值 CryptoPlg : 用于加密指定档案的校验值(MD5/SHA1/MD2/MD4) CustomLicense : 自定义许可页面插件 Delay : 可以强制使某个按钮延时 X 秒后才能使用 Dialogs : 调用打开、保存文档框等命令 DumpLog : 记录安装日志插件 EBanner : EBanner 插件 EmbeddedLists : 使用INI+此插件可使NSIS显示列表视图和树视图控件 EnumCDs : 枚举CD驱动器插件 EnumINI : 枚举INI值插件 EventLog : 记录安装日志插件 ExDlg : 使用res资源文件建立自定义页面的插件 ExecCmd : 执行命令行插件 ExecDos : 执行dos批处理文件的插件 ExecTimeout : 限时执行程序的插件 Extractdll : 解压dl_文件为dll类型的插件 Extractdllex : 解压dl_文件为dll类型的插件(扩展版,使用lzma压缩) Fct : 能找到指定窗口并关闭的插件 FindProc : 进程查找插件 GetVersion : 获取Windows系统版本插件 HandleFileDragDrop : 使NSIS支持文件拖拉的插件 HelpButton : 帮助按钮插件 HwInfo : 硬件信息插件 Inetc : Internet连接插件 InetLoad : Internet连接 插件 InstallOptionsEx : InstallOptionsEx 自定义页面插件扩展版 Internet : Internet 插件 Ipdll : 查询本机IP插件 KillProcDLL : 进程结束插件 Linker : 在任何页面创建快捷方式插件 Locate : 列举文件夹目录树插件 LockedList : 能检测安装、卸载需要前需要关闭的程序。以便安装正常进行 LogEx : 安装日志控制插件扩展版 Marquee : 能创建滚动文本字幕的插件 Md5dll : Md5计算插件 MessageBox : 自定义对话框插件 Metadl : 网页Meta信息下载插件 MoreInfo : 获取程序文件版本信息的插件 MSSQL_OLEDB : MSSQL OLEDB 插件 Name2ip : 域名与IP转换插件 NewAdvSplash : 新式 AdvSplash 插件 NotifyIcon : 系统托盘图标插件 NSISArray : NSIS 数组插件 nsisDDE : NSIS DDE 插件 NSISList : NSIS 列表插件 nsisMultiMon : NSIS 多屏幕信息检测插件 nsisOS : NSIS 操作系统信息采集插件 NSISpcre : NSISpcre 插件 nsisStartMenu : 开始菜单记录插件 nsisUser : 测试 Windows 用户登录插件 NsisXiMoL : NsisXiMoL 插件 nsisXML : XML 支持插件 NsMCI : MCI方式读取音频CD信息插件 NsRandom : 随机数生成插件 nsRestartExplorer : 重启桌面进程 Explorer 的插件 NsSCM : Windows 服务控制管理插件 NsScreenshot : 屏幕截图插件 nsWeb : 内嵌网页插件 Nwizplugin : NSIS 向导插件 Nxs : 进程条插件 PassDialog : 密码框插件 RegBin : 二进制形式注册表插件 Registry : 注册表插件 Rfshdktp : 桌面刷新插件 Safer : 安全运行程序插件(Vista以上) ScrollLicense : 需要滚动许可页面到底部才能继续安装的插件 SelfDel : 删除自身插件 Services : Windows 服务插件 SfHelper : sourceforge开源网站下载镜像站点查询插件 Shelllnk : 显示快捷方式信息的插件 ShutdownAllow : 允许关机插件 SimpleBg : 建立一个简易安装背景的插件 SkinnedButton : 使用图片作为按钮的插件 SpiderBanner : 能创建一个像Windows复制文件那样的小型带进度条、退出按钮对话框的插件 Stack : 堆栈控制插件 SysRestore : 系统还原控制插件 tapihelp : 调制解调器modem控制插件 TCP : TCP连接创建插件 TextReplace : 文本替换插件 Time : 时间获取插件 ToggleInstFiles : 可以在安装页面(InstFiles)显示/隐藏安装日志框插件 Tooltips : 气球提示插件 TSFD : 文件选择、保存对话框插件 Unicode : 文本Unicode编码转换插件 UnTGZ : TGZ 解压插件 UserMgr : Windows用户控制插件(创建、修改用户) version : Windows版本获取插件 XML : XML 支持插件 XtInfoPlugin : 多种软件信息采集插件 新增插件: AnimGif plug-in--可以用来为安装页面上使用gif图片格式的插件,同时也支持静态bmp和jpeg格式 CDRom plug-in-- 开/关CD-ROM 舱门;获取CD-ROM 状态(准备好,尚未准备好);获取ready信息(卷标名,卷标数)查找系统中所 有CD-ROM (依靠Enumerate_CD-ROM_Drives 插件) GetVersion (Windows) plug-in--获取Windows版本信息的插件(名字,类型,版本,....) KillProcDLL plug-in-- 功能与KillProc类似,清除进程的插件,根据返回值来执行清除命令. Linker plug-in--一个来把label转化成一个超级链接的插件 LockedList plug-in--用来显示或取得选者被卸载或覆盖文件的锁定程序列表插件 NSISdl Smooth-- NSISdl plug-in的修改版本,增加了安装过程的平滑风格显示.与NSISdl的功能没有其他差别 NSISpcre plug-in-- Nsis 正则表达式使用的插件 Name2ip plugin--把主机名转换成IP 地址。 NsProcess plugin--通过名字查找/杀掉进程;通过指定的进程名杀掉所有进程,进程名不区分大小写;支持 Win95/98/ME/NT/2000/XP ,插件大小仅为4KB. PassDialog plug-in--可以创建4种密码对话框的插件 用于创建用户名、密码或者序列号之类的验证是个错的选择。 ShutDown plug-in--一个注销,重启或关闭计算机的NSIS插件。, o% Y# d; G0 }) _5 p1 p5 O1 e ShutdownAllow plug-in--当安装程序运行时,这个插件允许Windows关闭或者注销。 SkinnedButton plug-in --这个插件允许在安装按钮上添加皮肤 Stack plug-in--这个NSIS插件可以操作NSIS堆或者私人堆 TextReplace plugin--文本替换插件9 X) l4 u$ i1 e Time plug-in--时间插件
WinRAR 正式版已注册 最新版本的最新更新 版本 5.00 1. 新的 RAR 5.0 压缩文件格式。你可以在压缩对话框中使用 "RAR 5.0" 选项或命令行中 使用 -ma 开关创建 RAR 5.0 压缩文件。 较老的软件,包括老版本的 WinRAR,不能解压 RAR 5.0 压缩文件,所以如果你计划把 一个压缩文件发送给其他人,则需要考虑兼容性问题。你可以在压缩对话框中选择 "RAR" 替代 "RAR5" 选项创建 RAR 4.x 压缩文件来兼容以前版本的 WinRAR。 2. RAR 5.0 压缩算法的改变: a) 64 位 WinRAR 中最大的压缩字典增加到 1GB。32位 WinRAR 版本创建压缩文件时可 以使用 256MB 的字典。32位和64位版本都可以解压任何字典大小的压缩文件,包括 1GB的; b) RAR 5.0 的默认字典大小是 32MB,结果就是比 RAR 4.x 的 4MB 更高的压缩率和较 慢的速度。你可以在压缩对话框选择中使用“字典大小”选项或 -md 开关修 改此值; c) -md 开关的语法修改为支持更大的字典大小。附加 'k', 'm' 和 'g' 后缀指 定大小单位是 KB,MB 和 GB, 例如, -md64m 指 64MB 字典。如果后缀不存在,默 认是 MB,所以 -md64m 等于 -md64; d) RAR 5.0 格式包括英特尔 IA-32 可执行和 delta 的压缩算法,但是 RAR 4.x 的文 本、音频、真彩色和安腾算法不再支持。这些排除的算法对现代数据类型和硬件配置 不是很有效率; e) RAR 5.0 解压缩可以使用多 CPU 核心。虽然不能有压缩算法同一程度的提高,但是 它提升了可压缩效果差数据的大文件和使用BLAKE2校验和时的解压速度。 3. RAR 5.0 压缩文件格式的改变: a) 文件时间存储为协调世界时(UTC),替代以前的本地时间,这让文件在不同的时区内 的交流更直观; b) 文件名和压缩文件注释使用 UTF-8 编码。 4. RAR 5.0 恢复记录基于里德-所罗门 ( Reed-Solomon ) 错误纠正码。如果恢复记录的大 小足够大,5%或更多,新的纠错方案提供了比 RAR 4.x 更高的抗多种损害的能力。较小 的恢复记录,如 1 - 2%, 或较少的随机损坏类型时 4.x 和 5.0 的区别较少。对于单一 连续损坏,4.x 和 5.0 的效率是相同的。 此外,通常的数据抹除,新的恢复记录比之前的 RAR 版本可以检测删除和插入更大的大 小。最大的插入大小是几兆字节。最大的删除大小依赖于损坏的类型,在某些情况下可 以和恢复记录的大小一样大。 不过,最好的恢复性能和效率是压缩文件没有删除和插入存在,包括受损区域的所有数 据保持原来的位置。因此,如果你使用一些特殊的软件从损坏的媒介复制压缩文件,最好 选择以零或任何其他数据填充受损区域的模式,而不是把它们完全从结果文件中切除。 RAR 5.0 恢复记录比恢复记录本身更耐损坏,可以利用部分损坏的恢复记录数据。但是, 请注意,“修复”命令不修复恢复记录的损坏块。只有文件数据可以被更正。压缩文件 修复成功后,您可能需要对保存的文件创建一个新的恢复记录。 新恢复记录不再是基于512字节区块,而是有更复杂的数据结构。所以不可能指定区块的 大小。对于RAR 5.0 压缩文件 rr[N]开关和rr[N]命令的参数总是视为压缩文件大小的百 分比,不管%字符是否存在。通常 N% 恢复记录可以修复 N%的连续损坏数据,增加压缩 文件的大小仅略超过 N%。解决多个损坏的能力与N成正比。 我们使用 James S. Plank、Kevin M. Greenan 和 Ethan L. Miller 的 “Screaming Fast Galois Field Arithmetic Using Intel SIMD Instructions”论文来改进 Reed-Solomon码性能。也感谢 Artem Drobanov 和 Bulat Ziganshin 提供例子和想法使 Reed-Solomon码更有效率。 5. "测试" 命令验证 RAR 5.0 恢复记录的有效性。在处理完所有压缩文件后测试恢复记录。 如果损坏的压缩文件包含恢复记录,即使恢复记录验证测试失败也可能被修复。“修复” 命令尝试利用部分受损的恢复记录。所以如果原始文件仍然可用,则把否定的恢复记录 测试结果作为重建压缩文件的原因,而不是避免使用“修复”命令的原因。 6. RAR 5.0 加密算法的改变: a) CBC 模式中加密算法由 AES-128 改变为 AES-256。关键推导函数是基于使用 HMAC-SHA256 的 PBKDF2; b) 特殊密码验证值允许不解压整个文件就能检测大部分错误密码; c) 如果压缩文件头没有加密 ("加密文件名" 选项关闭), 对于加密 RAR 5.0 文件的文 件校验和被修改使用一种特殊的密码依赖算法,不可能基于校验和猜测文件内容。不 要期待这样的加密文件校验和匹配常规和 BLAKE2 和 CRC32 值。 7. RAR 5.0 压缩文件可以使用 256位的 BLAKE2sp 哈希( https://blake2.net ) 代替 32 位的 CRC32 作为文件校验和。可以在压缩对话框的“选项”页中启用“使用 BLAKE2 文 件校验和”或在命令行中指定 -htb 开关来使用 BLAKE2 校验和。 在生成稍大的压缩文件时,BLAKE2 可以被用于文件内容识别。如果两个文件有相同 BLAKE2 值,基本上就可以认定文件内容是相同的。BLAKE2 的错误检测性能比较短的 CRC32 更强。 8. 删除的功能: a) 身份验证功能的可靠性达不到所需的级别,功能被移除; b) RAR 5.0 压缩文件由于总是添加压缩文件结束块,所以不支持开关 -en(不添加“压 缩文件结束”块)。此块有助于帮助 WinRAR 安全跳过扩展数据,如附在压缩文件后 的数字签名; c) RAR 5.0 压缩文件不支持 arcname.rNN 风格的旧分卷名,只使用 arcname.partN.rar 卷名; d) RAR 4.x 和 RAR 5.0 都不再支持文件注释了。控制台 RAR 的‘cf’命令被移除。这 不影响压缩文件注释,此功能在两个压缩文件格式的版本中都支持,并且没有删除的 计划。 9. "设置密码" 命令和 "字典大小" 选项被移动到压缩对话框的“常规”页面。 10. 你可以在压缩对话框的“高级”对话框中使用“把符号链接保存为链接”来保存并恢复 NTFS 符号链接和分析点为链接,它们的内容没有被压缩。此选项的命令行等价开关是 -ol。 NTFS 硬链接的类似选项是“把硬链接保存为链接”。它的命令行等价开关是 -oh。 这两个选项仅可用于 RAR 5.0 压缩文件格式。 11. 添加对 XZ 压缩文件格式的解压支持。 12. RAR 5.0 压缩文件格式中恢复卷处理的更改: a) RAR 5.0 中最大 RAR+REV 卷数是65535,取代 255; b) 恢复卷的操作速度比 RAR 4.x 快; c) 除了恢复数据,RAR 5.0 REV 文件也存储了类似于文件校验和的服务信息来保护 RAR 文件。所以它们比它们要保护的 RAR 卷要稍大。所以如果你要把 RAR 和 REV 文件 单独复制的移动媒介中,你需要把它考虑在内并指定 RAR 卷的大小比媒介的大小少 几K字节。 13. RAR 和 ZIP 压缩文件中的最大路径长度增加到 2048 个字符。 14. 如果 命令行 RAR 检测到用户输入了错误的密码,它会返回退出码 11。只有 RAR 5.0 压缩文件才能返回此代码。对于 RAR 4.x 文件它可以区分是密码错误还是数据损坏。 15. 'v' 和 'l' 命令在行的末尾显示压缩的文件名,不是和以前一样显示在前面。以前仅在 ‘l’和‘v’中输出的某些字段现在仅由‘lt’和‘vt’显示。 'vt' 和 'lt' 命令提供每个压缩了的文件的详细多行信息。 'vta' 和 'lta' 的列表中还包含了服务头。 16. 现在WinRAR 和控制台 RAR 中类似于 'rar a arcname @filelist' 命令中的文件列表 的默认字符集为 ANSI。以前版本中 WinRAR 是 ANSI,控制台 RAR 是 OEM。你可以使 用 -scl 开关取代此默认值。 17. WinRAR 内部查看器能检测并显示 UTF-8 和 UTF-16 小端字节序编码的文件。 18. UTF-16 小端字节序编码被用于 RAR 和 WinRAR 日志文件 rar.log 中,所以 Unicode 文件名能在日志文件中正确存储。WinRAR 会自动删除非 Unicode 格式的旧 rar.log 文件来避免同一日志文件中混合不同的编码。控制台 RAR 的情况下,你需要手动删除 旧的 rar.log,否则 RAR 会在现有的 rar.log 后追加 UTF-16 的信息。 你可以使用 -scg 开关改变默认日志文件的编码,如 -scag 使用 ANSI 编码。 19. 命令行 'r' (修复) 命令可以有一个附加的 目标路径\ 参数来定义修复好的压缩文件 的目标文件夹: rar r archive.rar 目标路径\ 版本 4.20 1. RAR 压缩的改变: a) RAR 常规压缩算法优化,更好得利用了多处理器核心。单处理器模式中提高一定的 速度的同时,多核心环境的压缩结果更好。 速度的提升效果依赖于数据类型和平均文件大小。在压缩大文件时多核心利用率更 高。 b) 为了更快的压缩速度,我们不得不增加内存的使用。常规 RAR 压缩算法分配大约 120 MB 内存,而 WinRAR 4.11 中为 40 MB; c) RAR 文本压缩不能有效得利用多 CPU 核心,所以在多处理器环境中它的性能比常 规压缩要低。不管多少个 CPU 数,它的解压缩速度都比常规算法要慢。所以我们 决定默认禁用文本算法。 如果需要把纯文本数据获得最大程度的压缩率,你可以在“高级压缩参数”对话 框中启用文本压缩。点击压缩对话框的“高级”页面的“压缩...”按钮来访问它。 你也可以在默认压缩配置中永久修改此选项; 命令行模式中可以使用 -mct 开关启用文本压缩; d) “最快”(-m1) 压缩模式现在也支持多处理器核心。4.11 中此模式仅能使用单处 理器核心。 2. RAR 常规解压缩算法的速度有稍微的提高,Rar 压缩算法的不同会导致不一样。RAR 解压缩不能使用多处理器核心,所以它的速度不依赖于核心数。 3. ZIP 压缩的改变: a) 现在 ZIP 压缩支持多处理器核心,这样在多核心环境中能获得显著的性能提升。 使用单 CPU 时 ZIP 压缩也比 4.11 快; b) ZIP 压缩的内存使用增加到大约 15 MB。 4. 恢复卷的创建和处理可以使用多个 CPU 核心来获得更高的处理速度。然而,一般硬盘 的寻道速度是恢复卷的一个限制因素,所以使用固态硬盘时效果会更明显。 5. 现在 -mt 的 值允许设为 1 - 32, 而不是以前的 0-16。 6. “查找文件”命令可以查找 7-Zip 压缩文件中的数据。以前的“查找文件”不支持 .7z 压缩格式。 7. WinRAR 和 WinRAR 自解压模块不再支持 Windows 2000。 8. “高级自解压选项”对话框中的“保存当前设置”按钮现在仅在转换现有的压缩文件 到自解压文件时可用。此按钮保存是选项仅应用于转换到自解压文件操作。 在创建或更新自解压文件时仅使用存储在默认压缩配置中的自解压选项。对于这些操 作,忽略“高级自解压选项”对话框中保存的选项。 版本 4.11 1. 错误修正: a) WinRAR 在创建 RAR 压缩文件时不存储 NTFS 的 "压缩" 属性; b) WinRAR 的命令行模式在有 @filelist 参数存在而 'filelist' 不存在时崩溃。此 问题只影响 WinRAR.exe,不影响 RAR.exe; c) 如果在压缩时指定了 -x*\somefolder\* 排除掩码,并且当前文件夹名中包含 'somefolder',WinRAR会排除所有文件并停止创建压缩文件; d) GUI 自解压压缩文件不能在 Windows 预安装环境(Windows PE)中使用。 版本 4.10 1. WinRAR 可以创建几乎任何大小的 ZIP 压缩文件。 以前 WinRAR 版本的 2 GB 压缩文件大小和 65535 个文件数的 ZIP 限制不再有效。 2. WinRAR 可以创建多卷 ZIP 压缩文件,也被称为拆分 ZIP 文件。 ZIP 卷的名字类似于“volname.zip”,“volname.z01”,“volname.z02”。在所有 压缩文件中,使用有“.ZIP”文件扩展名的卷来处理开始解压或打开一个压缩文件等 操作。 和 RAR 卷不一样,ZIP 卷不能自解压。 WinRAR 在创建或解压 ZIP 分卷时需要同时访问多卷 ZIP 文件的所有卷,所以不可能 在多个移动磁盘上创建或解压 ZIP 卷。你需要在同一文件夹内创建它们。 3. 对 ZIP 压缩文件新增高精度文件时间的支持。WinRAR 可以在 ZIP 压缩文件内以 100 纳秒的精度存储和解压修改、创建和上次访问的文件时间。 你需要在压缩对话框的“时间”部分设置“高精度修改时间”选项,才能在压缩文件存 储所有的 3 个时间。在解压对话框中的“高级”部分设置适当的“文件时间”选项选择 解压的时间。 4. 增加了支持存储 Unicode 文件名到 ZIP 扩展字段数据。不同的ZIP工具存储 Unicode 名称位置不同,有的在文件头,有的在扩展字段,现在 WinRAR 可以正确地处理这两种 类型 Unicode名称。 5. “同步压缩文件内容”选项和 -as 命令行开关支持 ZIP 格式。 6. 修改 -ag 开关的行为: a) -ag 可以用于所有的 RAR 和 WinRAR 命令,而不再仅限于压缩; b) 'N' 格式字符的行为在压缩和非压缩操作中的行为不同。压缩时,它会递归直到找到 第一个未使用的名称。在非压缩操作中,如解压,它会在选择已存在的压缩文件向前 找第一个未使用的名称; c) 'I' 格式字符允许指定分钟,不理会格式字符串中 'H'(小时) 的存在和位置。这可 以在你想把分钟放小时前面或不需要小时的时候代替 'M'(分钟) 。 7. 默认情况下,WinRAR 会在查看器修改了打开的文件或创建了新的文件时建议更新压缩文 件。在“设置/查看”对话框中的“忽略修改”选项允许禁用此行为。在这里你可以输入 以空格分隔的一个或多个文件掩码,如果创建或修改的文件则匹配这些掩码,WinRAR 不 会再询问是否要更新压缩文件。 8. 分卷大小输入栏的修改。现在你可以在分卷大小右边的下拉列表中选择大小的单位。之前 的方法是自己输入 'k', 'm' 等定义大小的单位。写在数字大小值后的字符也被支持。 9. “定义分卷大小”对话框中“预定义大小”的修改。软盘和 ZIP 盘被 5MB 和 100MB 卷 替代,增加了 FAT32 能支持的最大大小和蓝光光盘的大小。 10. 在压缩对话框的“选项”页新增“清除设置了密码的文件”选项。如果你总是想安全加密 的文件,你可以在默认压缩配置中启用“清除设置了密码的文件”。 11. 在“设定/安全”中新增“清除临时文件/仅加密的”选项。它可以让 WinRAR 在 认定为加密文件时,使用慢速但安全的方法删除从加密压缩文件解压到临时文件夹中的文 件。其它临时文件快速删除。 12. “转换压缩文件”命令的修改: a) 现在可以转换加密的压缩文件了。以前“转换压缩文件”命令会跳过它们。 不过,如果你还是想跳过它们,你可以通过启用“转换压缩文件”对话框中的“跳 过加密的压缩文件”选项做到这一点。它可能在你想在无人值守模式下运行转换命 令,避免密码提示时有用; b) 特殊的“rar2”压缩文件类型被移除,这是对 RAR1.x 和 2.x 特定的压缩文件。现 在“RAR”压缩文件类型控制所有版本的 RAR 压缩文件的转换。 由于转换命令不再需要检测的RAR压缩版本了,初始的搜索压缩文件更快,这样显示 “转换压缩文件”对话框前的延迟更短。 13. 新的 -log[格式][=名称] 开关允许写入压缩 RAR 和 ZIP 格式的命令处理的压缩文件和 文件名到日志文件中,也可用于 RAR 格式的解压、删除和列表命令。 当你需要进一步处理由 -ag 或 -v 开关建立的压缩文件时,这个开关特别有用,因为 -log 提供了 WinRAR 所生成的压缩文件名。 14. 新-@[+]开关允许处理“@”字符开头的所有参数,区分文件名(-@)或(-@+)文件列表。 15. “高级自解压选项”对话框的“安装程序”自解压选项从“常规”页移动到“安装” 页。“解压后运行”和“解压前运行”现在都可多行,所以可以在同一压缩文件中指定 多个安装程序。 16. "SetupCode" 自解压脚本命令指示自解压文件等待安装程序的终止并返回退出代码,以 增加 1000 作为自解压压缩文件的退出码。 图形界面的等效命令是“高级自解压选项”对话框“设置”页面的“等待并返回退出代 码”选项。 17. 自解压模块不再支持“S”(在开始菜单顶部创建)“快捷方式”命令。新版本的 Windows 不允许程序在开始菜单顶部添加项目。 版本 4.01 1. 添加对保存在 TAR 压缩文件中的二进制格式文件大小的支持。 某些 TAR 压缩文件对 于大于8 GB 的文件使用二进制格式的大小,而不是八进制。 2. 错误修正: a) “修复”命令无法正确重建包含至少一个文件打包大小超过 4 GB 的 RAR 压缩文件 的结构。 此错误不影响基于恢复记录的修复。只有在 WinRAR 重建没有找到恢复记录的压缩 文件结构时才发生这个问题; b) 即使解压对话框的“高级”部分中的“不解压路径”被设置为默认,WinRAR 在从资 源管理器右键菜单中解压时仍然解压文件路径。 c) 在对一个加密的 ZIP 压缩文件输入一个错误的密码后,有时 WinRAR 会忽略随后尝 试输入的有效密码; d) 在压缩单个文件夹或者没有扩展名的文件时,“向导”命令不允许创建自解压和多 卷压缩文件; e) “从文件导入设置”命令不能恢复 WinRAR 压缩配置文件中的多行注释; f) 当转换 name1.name2.part#.rar 格式名称的 RAR 卷时,“转换压缩文件”命令错 误地删除“.name2”名称部分。这样导致生成的压缩文件名是 name1.rar,而不是 预期的 name1.name2.rar; g) RAR 在使用 -agNNN 开关创建一个新的压缩文件时,如果在生成的压缩文件数大于 等于110时崩溃; h) 如果 7-Zip 压缩文件使用了非默认代码页,WinRAR 不能正确显示其中的非英语文 件名。这仅仅是显示问题,这些名字的文件还是能被正确解压的。 版本 4.00 1. RAR 解压缩速度提升。根据数据类型,解压缩会比以前版本提升 30%。 常规的 RAR 算法和大部分特殊的 RAR 多媒体模式都受益于此改进。唯一没有受影响 的 RAR 算法模块是“文本压缩”模式。 2. ISO 支持的更改: a) UDF 支持更新为 UDF 2.50 修订。这使解压大部分蓝光 ISO 文件成为可能; b) 当浏览 UDF ISO 文件时,UDF 修订号会被显示在 WinRAR 地址条和压缩文件信息 对话框的 "UDF" 格式名后; c) WinRAR 解压时会设置文件夹的修改日期为 UDF 和 ISO9660 文件中存储的时间。 3. 密码对话框的更改: a) WinRAR 解压和压缩时使用同样的密码对话框格式,所以“显示密码”选项解压时 也有效; b) 密码对话框的“管理密码...”按钮提供了密码的管理界面,在这里你可以指定你 常用的密码。你可以使用密码对话框中的下拉列表或自动完成功能访问这些保存的 密码。 c) 在一次解压多个压缩文件时,增加了密码对话框中的“用于所有压缩文件”选项。 你可以使用它对所有压缩文件只输入一次密码。 如果此选项使用空密码,WinRAR 会跳过所有加密的压缩文件。 d) 不象以前的版本,默认压缩配置中的密码不用于解压。 如果你想要对所有解压的压缩文件使用相同的密码,点击密码对话框的“管理密 码...”按钮定义一个新的密码项目,在“用于的压缩文件”区域输入"*"文件掩码。 4. 在 Windows 7 中 WinRAR 会在 Windows 任务栏的 WinRAR 图标中显示总的操作进度。 你可以使用 WinRAR 设置中“常规”页的“任务栏进度条”选项禁用它。 5. 多项 Unicode 支持改进,用于更好的访问非英语文件名。这些改进包括: a) 在 WinRAR 的“重命名”、“转换”、“查找”和其它命令中、在文件夹树窗格中、 在密码询问对话框和许多其它 WinRAR 界面部分中更好的 Unicode 处理; b) 在资源管理器右键菜单中更好的显示 Unicode 文件名; c) Unicode 支持 .lng 文件,使 WinRAR 的本地化可用于仅支持 Unicode 的语言; 6. -x 开关语法修改。现在你可以指定通配符掩码排除文件夹。这些掩码跟一个 '\' 字符,如 -x*tmp*\ 或 -x*\temp\ 7. 在解压对话框的“高级”部分新增“解压相对路径”选项。如果你在 WinRAR 界面中 浏览某些压缩文件的子文件夹并启用“解压相对路径”选项,则包括在路径中的当前 子目录在解压时候从文件路径中移除。 例如,如果你在压缩文件的文件夹“Backup\MyData”内并解压“Images”文件夹, 它会解压为“Images”,而不是“Backup\MyData\Images”。 此选项是新的默认解压模式,但是你可以修改此默认为 WinRAR 3.x 风格。只要在解 压对话框的“常规”部分选择“解压完全路径”并点击“保存设置”。 8. WinRAR 和 WinRAR 的自解压模块不再支持 Windows 98, Windows Me 和 Windows NT。 WinRAR 所需的最低的 Windows 版本是 Window 2000。 如果你需要在老版本的 Windows 中运行 WinRAR,你可以从 ftp://ftp.rarlab.com/rar 下载以前版本的 WinRAR。 9. 如果 TAR、TAR.GZ 或 TAR.BZ2 压缩文件包含符号或硬链接并且目标文件系统是 NTFS, WinRAR 会在解压这些压缩文件时创建这些链接。在 Windows Vista 和以上版本中 WinRAR 会创建符号链接为符号链接,硬链接为硬链接,较低版本的 Windows 中都创 建为硬链接。 如果目标文件系统是 FAT32 或任何其它不支持文件链接的文件系统,WinRAR 会在解压 TAR、TAR.GZ 和 TAR.BZ2 压缩文件时跳过链接。 10. 恢复卷处理时使用较少的磁盘操作获得更高的性能。 11. 你可以在解压对话框的树窗格中选择 Windows 7 库,WinRAR 会使用它的默认保存位 置做为目标路径。 12. "报告" 命令允许选择 HTML、Unicode 文本和常规文本为报告的输出格式。不像以前 版本的 WinRAR,现在 WinRAR 使用 HTML 或 Unicode 文本格式时在报告中保留 Unicode 字符。所以在这些报告中文件名中的非英语字符会正确显示。 13. 图形自解压的消息列表只显示操作状态和错误信息。它不再包含所有解压的文件名 了。这个更改提高了速度,降低包含大量的文件的自解压文件解压时的内存需求。同 时它使得更容易找到错误消息,因为它们不再隐藏在解压的文件名中了。 14. 图形自解压压缩文件对于压缩文件注释中没有“Setup”或“Presetup”命令的时候显 示“解压”代替“安装”。如果你要设为“安装”按钮,但是不需要执行任何安装程 序,你可以添加一个“Setup=”命令。 15. WinRAR 在修复包含恢复记录的压缩文件或处理恢复卷时,在操作进度条上显示百分比。 16. 当 WinRAR 在卷大小自动检测模式下, 在 FAT 或 FAT32 文件系统中创建 RAR 卷,会 限制最大可能卷尺寸为 4 GB 减 1 字节。这些文件系统不支持 4 GB 及更大的文件。 17. 如果启用“如果其它 WinRAR 副本被激活则等待”选项并且 WinRAR 在等待其它副本, 你可以在命令进度窗口单击“继续”按钮强制 WinRAR 停止等待。这样新的“继续” 按钮允许覆盖当前操作的“如果其它 WinRAR 副本被激活则等待”的状态就可以允许 当前操作忽略此选项的设置。 18. 当使用某些外部编辑器修改 RAR 或 ZIP 压缩文件中的加密文件后保存会压缩文件时, WinRAR 将显示一次而不是两次密码请求。上一版本的 WinRAR 通常会在解压原始文 件和压缩修改后的副本时请求两次密码。只有使用加密文件名称的 RAR 压缩文件提 示一次密码。 19. RAR 和 WinRAR 命令行模式返回的的错误代码列表添加了新的错误代码 10 ("无文 件") 。这个新的代码会被压缩、解压、删除和报告命令返回。它意味着 RAR 在指定 的文件或压缩文件掩码中没有找到任何匹配的文件。 20. 在文件覆盖对话框的文件名称区域现在多行显示。这样可以显示更长的名字。 21. 现在开关 -ep3 转换不仅使用盘符,也使用 UNC 路径。这样 \\server\share 压缩时 会被转换为 __server\share,使用 -ep3 解压时恢复为原来的 \\server\share。 22. 解压对话框的“高级”部分中新的“后台解压”选项可以使 WinRAR 在解压时进入后 台操作。你可以和其它选项一样,在解压对话框的“常规”部分使用“保存设置”按 钮保存此选项的默认状态。 默认压缩配置中的“后台压缩”选项不影响解压行为。 23. 在解压或测试压缩文件时,操作进度窗口中的 "更多..." 按钮也可用。它提供了访问 “命令参数”对话框,在这里你可以设置解压和测试操作的“完成后关闭计算机”选 项。 以前此对话框仅可在压缩操作时访问。 21. 错误修正: a) 重命名压缩文件中的一个文件也会导致同一压缩文件中所有同名文件被重命名; b) 对于多卷 CAB 压缩文件,上一版本在“信息”命令中显示错误的总计解包大小; c) 在 ZIP 压缩文件中的 'U' (更新) 和 'F' (刷新) 命令会错误地更新没有在命令 行中指定的文件。这仅发生在当前文件夹内有与 Zip 压缩文件内文件名字匹配的 文件时。此错误没有出现在通常的 'A' (添加) 压缩文件模式中。 版本 3.93 1. 错误修正: a) 在 WinRAR 3.92 中 -xd:\path\folder 开关也能排除文件夹,路径和开关中指定 的路径不匹配,仅文件夹名和指定的相同; b) 开关 -y -or 在一起不能正确工作。-y 开关存在时 开关 -or 被忽略。 版本 3.92 1. 如果你在多显示器配置的资源管理器右键菜单启动 WinRAR 命令,命令对话框会显示 在关联菜单所在的显示器上。以前版本都显示在主显示器上。 2. WinRAR "压缩并 Email..." 关联命令添加压缩文件名到 Email 主题。以前版本保留 主题为空白。 3. 在 RAR 3.91 -x 开关也能从压缩中排除文件夹,即使掩码包含通配字符并不包 含路径。例如, -x*. 排除所有的名字中没有扩展名的文件夹。现在 -x 开关使用 RAR 3.80 方式,对于无路径掩码,只有在掩码不包含通配符并且完全匹配文件夹名时排除 文件夹。 4. 错误修正: a) WinRAR 3.91 在打开用关联菜单的“创建 WinRAR ZIP 压缩文件”命令创建的空 ZIP 压缩文件时,报告不正确的“不可预料的压缩文件末端”; b) 在解压包含损坏文件的 ZIP 压缩文件时启用“删除压缩文件”选项,WinRAR 不 删除损坏文件以后的压缩文件,即使他们被成功解压; c) 如果在 RarFiles.lst 文件中匹配两个不同的掩码,WinRAR 会选择最后的匹配。 通常,如果两个掩码互不为子集,第一个匹配必须被选择。 版本 3.91 1. 此版本能解压使用 LZMA2 算法创建的 7-Zip 压缩文件。 2. 现在从右键关联菜单解压加密文件名的 7z 压缩文件时仅询问一次密码。WinRAR 3.90 询问两次。 3. 此版本能解压包含数个小的 bz2 流整合到一起的 tar.bz2 压缩文件。以前的版本仅 解压这样的复合压缩文件中首个镶嵌的 bz2 流。 4. WinRAR 显示普通 .gz(非 .tar.gz)压缩文件内文件的 CRC32。以前的版本此区域为空 白。 5. 错误修正: a) WinRAR 3.90 在“查找压缩文件”对话框中显示“保存”按钮而不是“打开”或 “确定”(“文件”菜单中的“打开压缩文件”命令和压缩对话框的“浏览...”命 令); b) WinRAR 在浏览畸形 ZIP 压缩文件时显示错误的文件名; c) WinRAR 3.90 解压使用“-lh7-”算法创建的 LZH 压缩文件时失败; d) 如果启用删除到回收站,WinRAR 3.90 不能在压缩后删除一部分文件。此错误仅存 在于 Windows XP 中, Windows Vista 和 Windows 7 中不存在; e) 在资源管理器的右键关联菜单中使用 WinRAR“解压文件...”命令解压 ISO 文件 时,WinRAR 会在同一操作中解压同一压缩文件两次。第二次解压文件时显示覆盖 文件提示; f) 在 WinRAR 3.90 的“查找”命令和控制台 RAR 的“ih”命令中的十六进制查找命令, 如果搜索的字符串的的首个字节大于 127 则搜索失败。 版本 3.90 1. WinRAR Windows x64 版本可用。如果你使用 Windows x64, 强烈推荐安装 64 位 WinRAR 版本。它提供了更高的效率和比 32 位更好的外壳扩展。 2. 在多核心和多 CPU 的系统中压缩速度提升。在 Windows Vista 和 Windows 7 操作 系统中此提升明显。 3. "设置/压缩" 对话框的 "从解压路径移除重复的文件夹" 选项被更普遍的 "从解压的 路径中移除多余的文件夹" 选项代替。如果你使用右键关联菜单的 "解压到 DestName\" 命令解压一个压缩文件,并且压缩文件的根目录仅包含一个文件夹而且 没有文件,则此选项会从解压路径中排除多余的基本文件夹。 4. 在 "解压路径和选项" 对话框中的修改: a) "新建文件夹" 按钮在当前选择的文件夹中创建一个新的子文件夹; b) F2 键重命名文件夹树中选择的文件夹; c) F5 键更新树窗格的内容; d) Del 键移除文件夹树中选择的文件夹。 5. 如果你希望在 WinRAR 外壳的文件列表中显示文件日期的秒,你可以在 "设置/文件 列表" 对话框中启用 "显示秒" 选项。 6. 在 "设置/整合/关联菜单项目" 对话框中的 "在哪里检查自解压文件" 选项组让你在 右键关联菜单中控制自解压模块的进程。例如,如果你在较慢的网络磁盘中频繁右键 点击 ".exe" 文件,你可以关闭 "网络磁盘" 选项来减少显示右键关联菜单的显示延 迟。 7. 如果你在 WinRAR 的外壳的文件列表中按文件名排序,WinRAR 会使用新的逻辑文件 名排序,和 Windows 资源管理器一致,把文件名中的数字按照数字值的大小排序。 所以文件会按照 1.txt, 2.txt, 10.txt 排序,而不是以前的 1.txt, 10.txt, 2.txt。 这种新的排序在 Windows XP Service Pack 2 和更新的版本中可用。 8. Ctrl+W 键组合可以关闭 WinRAR 查看窗口也可以关闭 WinRAR 主窗口。在 WinRAR 的 查看中 "作为 Windows 文本查看" 快捷方式从 Ctrl+W 变为 Ctrl+I。 9. 新的命令行开关 -r- 完全禁用递归。所以 'rar a -r- arc dirname' 命令会仅添加 空的 dirname 文件夹并忽略它的内容。默认,如果 dirname 不包含通配符,即使没 有指定 -r 开关,RAR 也会添加它的内容。 10. 如果解压时使用新的命令行开关 -ai,会强制 RAR 忽略文件属性。当使用此开关,解 压的文件会被分配操作系统默认给新建文件的属性。 11. 如果输出文件名未在 "cw" 命令中指出,控制台 RAR 会发送注释数据到标准输出设备。 12. 当使用开关 -si[名称] 压缩标准输入数据时,RAR 把当前系统时间设为压缩的修改时 间。以前的 RAR 版本不填充此区域,导致对标准输入修改时间无意义。 13. 当你把鼠标放在 WinRAR 的任务栏图标上时会显示包括压缩文件名的信息。以前仅显示 压缩操作剩余的时间和总百分比。 14. 错误修正: a) WinRAR 不能打开某些包含文件大小超过 8 GB 的tar.gz 文件; b) 在 Windows 7 beta 版中,如果右键关联菜单启用图标并且用户在 Windows 7 库文 件夹点击文件,WinRAR 右键关联菜单不能正确工作; c) 以前的 WinRAR 版本处理名字中有 5 个或以上连续空格的文件时候失败。WinRAR 外 壳由于安全原因不显示这些空格,因为它们可以被用来隐藏实际的文件扩展名。但是 此安全措施阻止了重命名命令正确工作。
仅收录该书籍以供学习和讨论 包含pdf书籍及经过验证的示例 执行demo中的示例方式 在编译环境下进入demo目录,执行nmake命令在bin目录下生成可执行文件 注:demo无注释,对应书本中部分示例。 目录 第1章 Windows应用程序开发入门 1 1.1 第一个实例程序 1 1.1.1 start.exe 1 1.1.2 Windows API 2 1.1.3 程序入口函数 2 1.1.4 start.c代码分析 2 1.2 编译代码 3 1.2.1 安装Visual Studio 3 1.2.2 安装Microsoft Platform SDK 4 1.2.3 集成Microsoft Platform SDK与Visual C++速成版 5 1.2.4 Vista SDK与Visual Studio 2008 6 1.2.5 Visual Studio专业版或团队系统版 7 1.2.6 使用图形化IDE建立工程、进行编译 7 1.2.7 “解决方案”与“工程” 8 1.2.8 使用命令行工具编译 8 第2章 Windows API概要 10 2.1 Windows数据类型 10 2.1.1 Windows数据类型示例 10 2.1.2 Windows数据类型与标准C数据类型的关系 14 2.1.3 Windows数据类型与Windows API 14 2.1.4 Windows中的数据结构 15 2.2 Windows API的功能分类 15 2.2.1 系统基本服务 15 2.2.2 系统管理 17 2.2.3 用户界面 17 2.2.4 图像和多媒体 20 2.2.5 网络 20 2.2.6 系统安全 20 2.2.7 其他功能 21 2.3 Windows API核心DLL 21 2.3.1 Kernel32.dll 21 2.3.2 User32.dll 21 2.3.3 Gdi32.dll 22 2.3.4 标准C函数 22 2.3.5 其他Dll 22 2.4 Unicode和多字节 22 2.4.1 W版本和A版本的API 24 2.4.2 Unicode与ASCII的转换 24 2.5 对Windows程序设计规范的建议 25 第3章 开发工具配置与使用 26 3.1 使用Visual C/C++编译链接工具 26 3.1.1 编译器cl.exe 27 3.1.2 资源编译器rc.exe 31 3.1.3 链接器link.exe 32 3.1.4 其他工具 38 3.1.5 编译链接工具依赖的环境变量 39 3.1.6 示例:使用/D选项进行条件编译 42 3.2 使用Platform SDK 43 3.2.1 Platform SDK的目录结构与功能 43 3.2.2 为编译链接工具设置环境变量 45 3.2.3 Platform SDK工具集 46 3.2.4 Windows Vista SDK 48 3.3 编写Makefile 48 3.3.1 使用nmake.exe构建工程 48 3.3.2 Makefile实例 50 3.3.3 注释 50 3.3.4 宏 50 3.3.5 描述块:目标、依赖项和命令 53 3.3.6 makefile预处理 55 3.3.7 在Platform SDK的基础上使用nmake 56 3.4 使用WinDbg调试 57 3.4.1 安装WinDbg 57 3.4.2 编译可调试的程序 58 3.4.3 WinDbg命令 59 3.4.4 调试过程演示 59 3.5 集成开发环境 Visual Studio 62 3.5.1 工程类型选择与配置 62 3.5.2 Visual Studio快捷方式 64 3.5.3 生成项目 64 3.5.4 调试 65 3.5.5 选项与设置 65 3.6 开发环境配置总结 66 第4章 文件系统 67 4.1 概述 67 4.1.1 文件系统的基本概念 67 4.1.2 文件系统主要API 68 4.2 磁盘和驱动器管理 70 4.2.1 遍历卷并获取属性 70 4.2.2 操作驱动器挂载点 76 4.2.3 判断光驱中是否有光盘 81 4.2.4 获取磁盘分区的总容量、空闲容量、簇、扇区信息 83 4.3 文件和目录管理 86 4.3.1 删除、复制、重命名、移动文件 87 4.3.2 创建、打开、读写文件,获取文件大小 90 4.3.3 创建目录 96 4.3.4 获取程序所在的目录、程序模块路径,获取和设置当前目录 97 4.3.5 查找文件、遍历指定目录下的文件和子目录 100 4.3.6 递归遍历目录树 103 4.3.7 获取、设置文件属性和时间 105 4.4 内存映射文件 110 4.4.1 使用Mapping File提高文件读写的效率 110 4.4.2 通过Mapping File在进程间传递和共享数据 115 4.4.3 通过文件句柄获得文件路径 118 4.5 总结 121 第5章 内存管理 122 5.1 Windows内存管理原理 122 5.1.1 基本概念 122 5.1.2 分页与分段内存管理、内存映射与地址转换 123 5.1.3 进程的内存空间 125 5.1.4 虚拟内存布局、内存的分工、堆与栈 127 5.1.5 内存的保护属性和存取权限 127 5.1.6 本章API列表 127 5.2 堆管理 129 5.2.1 获取堆句柄、分配与再分配堆 129 5.2.2 获取堆中内存块的大小信息 133 5.2.3 释放内存、销毁堆 134 5.3 全局(Global)和局部(Local)内存管理 136 5.3.1 Global函数 136 5.3.2 Local函数 137 5.3.3 使用全局和局部函数分配和释放内存、改变内存块属性 137 5.4 虚拟内存管理 138 5.4.1 虚拟地址空间与内存分页 139 5.4.2 分配和释放可读可写的虚拟内存页面 139 5.4.3 修改内存页面状态和保护属性、将页面锁定在物理内存中 142 5.4.4 管理其他进程的虚拟内存 143 5.5 内存操作与内存信息管理 144 5.5.1 复制、填充、移动、清零内存块、防止缓冲区溢出 144 5.5.2 获得当前系统内存使用情况 146 5.5.3 判断内存指针的可用性 147 5.6 各种内存分配方式的关系与比较 148 5.6.1 标准C内存管理函数与Windows内存管理API的关系 149 5.6.2 功能性区别 149 5.6.3 效率的区别 149 第6章 进程、线程和模块 150 6.1 基本概念 150 6.1.1 应用程序与进程 150 6.1.2 控制台应用程序与图形用户界面应用程序 151 6.1.3 动态链接库、模块 151 6.1.4 线程、纤程与作业 152 6.1.5 权限与优先级 153 6.2 进程管理 153 6.2.1 创建进程、获取进程相关信息、获取启动参数 153 6.2.2 编写控制台程序和图形用户界面应用程序 158 6.2.3 获取和设置环境变量 158 6.3 线程、纤程 162 6.3.1 创建线程、退出线程、获取线程信息 162 6.3.2 挂起、恢复、切换、终止线程 164 6.3.3 创建远程线程、将代码注入其他进程中执行 167 6.3.4 创建纤程、删除纤程、调度纤程 170 6.3.5 纤程与线程的互相转换 171 6.4 进程状态信息 176 6.4.1 PS API与Tool help API 176 6.4.2 遍历系统中的进程 178 6.4.3 列举进程的模块、线程 182 6.4.4 进程的堆使用、内存占用、虚拟内存大小,页面错误情况 184 6.5 动态链接库 185 6.5.1 加载、释放DLL、通过句柄获取DLL相关信息 186 6.5.2 编写动态链接库、导出函数 186 6.5.3 创建动态链接库工程,配置DLL编译链接选项 188 6.5.4 运行时动态获取DLL导出函数地址并调用 189 6.5.5 声明导出函数、创建lib库,为其他模块提供导入表调用接口 190 6.5.6 通过构建导入表调用DLL导出函数 191 第7章 线程同步 192 7.1 基本原理 192 7.1.1 线程同步的过程 193 7.1.2 同步对象 193 7.1.3 等待函数 193 7.2 同步对象示例 194 7.2.1 使用事件对象(Event) 194 7.2.2 使用互斥对象(Mutex) 199 7.2.3 使用信号量控制访问共享数据的线程数量 202 7.2.4 使用可等待计时器(Timer) 206 7.3 等待进程和线程的执行完成 209 第8章 服务 210 8.1 基本概念 210 8.1.1 服务控制器(SCM) 211 8.1.2 服务程序 211 8.1.3 服务控制管理程序 211 8.1.4 系统服务管理工具 211 8.1.5 服务的属性 211 8.2 编写服务程序 212 8.2.1 入口函数 212 8.2.2 服务主函数 212 8.2.3 控制处理函数 213 8.3 实现对服务的控制和管理 216 8.3.1 创建、删除服务 216 8.3.2 启动、停止服务,向服务发送控制请求 219 8.3.3 管理服务状态、配置服务、服务的依赖关系 222 第9章 图形用户界面 229 9.1 字符界面程序 229 9.1.1 基本概念 230 9.1.2 控制台读写 231 9.1.3 控制台字体、颜色等属性,操作屏幕缓存 234 9.1.4 控制台事件 244 9.2 图形用户界面:基本概念 246 9.2.1 窗口 246 9.2.2 窗口类 246 9.2.3 消息和消息处理函数 247 9.2.4 控件 247 9.2.5 资源 248 9.2.6 对话框 248 9.3 图形用户界面:窗口 248 9.3.1 注册窗口类 249 9.3.2 创建窗口 251 9.3.3 窗口消息处理函数 253 9.3.4 窗口属性、位置和大小 256 9.3.5 窗口显示方式 257 9.3.6 线程消息队列和消息循环 258 9.4 图形用户界面:控件 258 9.4.1 Tree View控件 258 9.4.2 为Tree View控件增加节点 260 9.4.3 Tree View右键菜单 262 9.4.4 List View控件 263 9.4.5 为List View控件增加分栏 265 9.4.6 为List View控件增加项 266 9.4.7 文本框控件 267 9.4.8 为文本框控件设置文字 268 9.5 界面资源 269 9.5.1 资源脚本(.rc) 269 9.5.2 资源ID定义和头文件 272 9.5.3 在程序中使用资源 273 9.6 菜单 273 9.6.1 菜单资源和菜单句柄 273 9.6.2 动态增加、删除、设置菜单及菜单项 274 9.6.3 菜单消息处理 274 9.7 对话框 275 9.7.1 创建对话框 275 9.7.2 对话框消息处理函数 276 第10章 系统信息的管理 277 10.1 Windows系统信息 277 10.1.1 获取系统版本 277 10.1.2 获取计算机硬件信息 279 10.1.3 获取系统目录等信息 281 10.1.4 用户名、计算机名、域名 282 10.1.5 处理系统颜色信息、尺度信息等 284 10.1.6 鼠标、键盘等外设信息 285 10.2 时间信息 286 10.2.1 设置、获取系统时间 286 10.2.2 获取开机至现在持续的时间 287 10.2.3 文件时间与系统时间的转换 287 10.3 注册表 288 10.3.1 注册表的作用及组织形式 288 10.3.2 键、子键、键属性及键值的相关操作 289 10.3.3 列举注册表项及键值 292 10.3.4 通过注册表设置一个自启动的程序 293 10.3.5 设置随程序启动而启动的调试器(任何程序) 294 10.3.6 指定程序崩溃实时调试器 294 第11章 进程间通信 295 11.1 邮槽(MailSlot) 295 11.1.1 创建邮槽、从邮槽中读取消息 296 11.1.2 通过邮槽发送消息 299 11.2 管道(Pipe) 300 11.2.1 创建命名管道 300 11.2.2 管道监听 302 11.2.3 使用异步I/O进行读写 303 11.2.4 关闭管道实例 307 11.2.5 客户端 307 11.3 剪贴板 310 11.3.1 获取、设置剪贴板数据 310 11.3.2 监视剪贴板 317 11.3.3 剪贴板数据格式 325 11.4 数据复制消息(WM_COPYDATA) 327 11.4.1 数据发送端 327 11.4.2 数据接收端 330 11.5 其他进程间通信方式 332 11.5.1 动态数据交换(DDE)和网络动态数据交换(NDDE) 332 11.5.2 通过File Mapping在进程间共享数据 333 11.5.3 Windows Socket 333 第12章 Windows Shell程序设计 334 12.1 Windows Shell目录管理 335 12.1.1 Shell对目录和文件的管理形式 335 12.1.2 “我的文档”等特殊目录相关操作 335 12.1.3 绑定、遍历、属性获取 337 12.1.4 浏览文件对话框 339 12.2 文件协助(File Associations) 340 12.2.1 文件类型相关注册表键值 340 12.2.2 为文件指定默认打开程序 341 12.2.3 定制文件类型的图标 342 12.3 Shell扩展 343 12.3.1 对象及概念 343 12.3.2 CLSID,处理例程的GUID 344 12.3.3 注册Shell扩展 345 12.3.4 COM程序开发基础 346 12.3.5 编写Handler程序 346 12.3.6 Shell扩展程序的调试 362 12.3.7 总结 363 12.4 任务栏通知区域(Tray)图标 363 12.4.1 创建图标窗口 364 12.4.2 创建图标图标菜单 367 12.4.3 最小化主窗口到通知区域 370 12.4.4 弹出气泡通知 372 12.4.5 动态图标 374 12.4.6 其他功能 376 第13章 Windows GDI 379 13.1 GDI编程接口概述 379 13.1.1 Windows GDI的功能 379 13.1.2 链接库与头文件 380 13.2 设备上下文(DC)、输出操作与图形对象 380 13.2.1 设备上下文类型与关联设备 380 13.2.2 图形对象的作用及与DC的关系 380 13.2.3 各类图形对象的具体属性与作用 383 13.2.4 绘制、填充、写入等图形输出操作 384 13.2.5 修剪与坐标变换 385 13.2.6 设备上下文的图形模式 385 13.3 一个最简单的GDI程序 386 13.3.1 示例 386 13.3.2 DC的操作 387 13.3.3 颜色的表示 388 13.3.4 图形对象:画刷和画笔 389 13.3.5 输出操作:绘制图形和线条 390 13.4 文字和字体 391 13.4.1 选择、设置字体 393 13.4.2 选择字体图形对象 394 13.4.3 文字的颜色 394 13.4.4 输出文字 395 13.4.5 DC图形模式设置 395 13.4.6 遍历字体 396 13.4.7 为系统安装、删除字体文件 398 13.5 绘制线条 398 13.5.1 选择画笔对象 399 13.5.2 直线 399 13.5.3 绘制任意曲线 399 13.5.4 跟踪鼠标轨迹 399 13.5.5 弧线 405 13.6 绘制图形 405 13.6.1 填充颜色与边缘勾勒 406 13.6.2 绘制矩形、椭圆、圆角矩形 406 13.6.3 椭圆弓形和椭圆扇形 411 13.6.4 多边形 411 13.6.5 RECT结构及对RECT的操作 412 13.7 位图操作 414 13.7.1 截取屏幕、保存位图文件 414 13.7.2 将位图显示在界面上 419 13.8 区域(Regions)、路径(Paths)与修剪(Clip)操作 422 13.8.1 区域的创建及形状、位置等属性 422 13.8.2 区域边沿、区域填充、反转与勾勒操作 423 13.8.3 组合、比较、移动等操作 426 13.8.4 点击测试(Hit Testing) 427 13.8.5 路径的创建与操作 431 13.8.6 路径转换为区域 432 13.8.7 使用区域和路径进行修剪操作,限制输出 432 13.9 坐标变换 438 13.9.1 缩放 439 13.9.2 旋转 440 13.10 调色板 440 第14章 网络通信与配置 443 14.1 Socket通信 444 14.1.1 客户端 444 14.1.2 服务端 449 14.1.3 处理并发的客户端连接 455 14.1.4 网络通信的异步I/O模式 456 14.2 IP Helper 456 第15章 程序安装与设置 463 15.1 创建cab文件 463 15.1.1 makecab.exe 463 15.1.2 压缩多个文件 464 15.1.3 Cabinet软件开发工具包(CABSDK) 466 15.2 编写INF文件 466 15.2.1 INF文件格式 466 15.2.2 Install节 468 15.2.3 CopyFiles和AddReg等安装过程 468 15.2.4 源路径和目的路径 469 15.2.5 字符串表 469 15.3 安装程序setup.exe的编号 469 15.4 使用msi文件进行安装 472 15.4.1 Windows Installer Service 472 15.4.2 msi文件的创建与修改工具orca.exe 474 15.4.3 准备工作 475 15.4.4 编辑表组 475 第16章 设备驱动管理与内核通信 476 16.1 设备管理 476 16.1.1 列举设备接口 477 16.1.2 监控设备的加载和卸载 483 16.2 I/O控制、内核通信 488 16.2.1 加载驱动程序 488 16.2.2 控制驱动程序、与驱动程序进行通信 495 16.3 编写设备驱动程序 498 16.3.1 驱动程序开发包:DDK 499 16.3.2 开发驱动程序 499 16.4 I/O模式,同步与异步 504 第17章 用户、认证和对象安全 506 17.1 基本概念 506 17.1.1 访问令牌、权限和用户标识 506 17.1.2 进程的系统操作权限 507 17.1.3 安全对象 508 17.1.4 访问控制列表(ACL) 508 17.2 安全机制程序示例 509 17.2.1 列举进程访问令牌内容和权限 509 17.2.2 修改进程的权限 514 17.2.3 列举安全对象的安全描述符 515 17.2.4 修改安全描述符 521 17.3 用户 522 17.3.1 创建用户 522 17.3.2 用户组 523 17.3.3 删除用户 525 17.3.4 列举用户和用户组、获取用户信息 525 第18章 Windows API的内部原理 532 18.1 关于API的补充说明 532 18.1.1 Windows API的版本演进和Vista新增API 532 18.1.2 64位操作系统的接口 533 18.2 Windows系统中的对象封装 533 18.2.1 什么是对象 534 18.2.2 面向对象的思想 534 18.2.3 Windows系统中的对象:内核对象、GDI对象等 534 18.3 Windows程序设计参考:文档资源与样例代码 534 18.3.1 SDK文档和MSDN 534 18.3.2 SDK示例代码 535 18.4 x86平台程序函数调用原理 535 18.4.1 函数调用的真实过程 535 18.4.2 函数调用约定 539 18.4.3 为什么通过参数返回数据时只能使用指针 540 18.4.4 缓冲区溢出 540 18.4.5 程序运行错误的调试技巧 540 18.5 可执行程序结构与API函数接口内部机理 541 18.5.1 Windows可执行程序结构 541 18.5.2 导入表、导出表、动态链接 543 18.5.3 NTDLL.DLL、NATIVE API和SSDT 544 18.5.4 API HOOK 546 18.6 发布程序 546 18.6.1 合理选择编译链接选项 546 18.6.2 构建到指定路径 546 18.7 模块化,向Windows API学习接口定义 547 18.7.1 lib文件 547 18.7.2 头文件 547 18.7.3 为第三方应用软件提供SDK 547

19,500

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧