[经验] 系统封装常见问题大总结(非官方)
Posted 陈晓猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[经验] 系统封装常见问题大总结(非官方)相关的知识,希望对你有一定的参考价值。
[经验] 系统封装常见问题大总结(非官方)
玩看 发表于 2013-6-21 20:25:22
https://www.itsk.com/thread-277947-1-1.html
哈哈,好久没来天空了,没办法,忙着应付高考,现在有空了,上来论坛瞧瞧,唬唬,原先的 XP系统封装视频教程大放送 居然因为7天内无回复而被锁帖,哎,都怪115网盘,都怪这破电信,上传速度那么慢,不然的话我就重传了。废话不多说,旧的不去新的不来,现在发布一篇新帖,当初因为看到经常有朋友问些低级问题,而这些问题天空又没有一篇较为完善的总结,为此咬咬牙,从论坛上搜集好几百篇帖子汇聚了平常经常问的问题,其中不乏网友的原话,其中有些疏忽我也进行了订正,希望能到大家的支持,大家有好的经验也不妨写下来,以便帮助更多的人。
【1】问~在老的机子上装虚拟机~~封装出来的系统能装新机上吗?
还有我的老机子 是单核的 ~在这种机子上装虚拟机 封装出来的系统能用在双核或者4核的机子上吗?
skyfree:
1、虚拟机硬件和你本机硬件无关联,至多是CPU与你本机的相同
2、理论上将,在任何机器上封装的系统均可部署到任何机器,但为了减少驱动残留、SRS驱动冲突等问题,也是为了方便,绝大多数时候使用的是最小化硬件的虚拟机
3、虚拟机建议使用完整版的VMware
【2】关于封装前安装驱动问题:
我们大家都知道封装系统前必须卸载驱动,我的问题是比喻显卡、声卡、网卡等,在使用安装版时不一定安装上了驱动(即显卡、声卡、网卡等驱动不上,在设备管理器里出现问号),这时直接进行封装。不为他们安装驱动是否可以(也就是说需要特意把驱动给安装上吗)?
答:
可以。。封装不需要安装。。
目的是卸载,并不是安装,所以没有装上的就不要装了。一个人有病才去就医,如果没有病就没有必要特意去感染一些病来医吧。
不用安装,就算安装了,使用ES封装时也会自动卸载他们(因为封装系统不止是在一台机器上使用,如果不卸载所有驱动而直接封装出来,那么这个系统部署到其他电脑上只有蓝屏),等部署系统时候会自动安装好驱动的。
【3】关于内存不能为read
用YlmF 系统 DIY Y1.6 给XP系统减肥
(1)这个建议不要使用,以前使用过了也出现内存不能为read 现在没使用了一次也没出现过了
(2)用了YMLF1.6的精简工具,后来封装的系统小了,但是用一段后会出现内存不能为READ的现象。
(3)截止目前为止,这个问题算是暂时解决了,最后一次封装的版本,已经测试了10天左右,在7-8台不同配置,不同环境的机器中测试,还没有发现问题。总结如下,ylmf的那个精简工具不能用,迅雷某个版本的不能用,就基本顺利了。
(4)YlmF 系统 DIY Y1.6 给系统减肥会替换system32下的一个DLL 以前我也是这样老出现内存不能为read,不用这个工具就没事 最好不要用
【4】关于DX9C安装问题:
1、问:比喻 Office、WinRAR等都是先安装好再封装系统,为什么DX9C一般是在系统恢复才安装,它与显卡有关吗?
答:完全没有关系,就是为了节约空间。如果你不在乎封装系统的大小,完全可以在封装前把所有软件全部安装好,也就省去在部署过程中安装一些程序了。
小结:可以封装前安装,部署时安装一般都是为了节省体积
2、问:DX9安装会不会根据不同的显卡进行安装?
答:DX是微软提供的多媒体编程接口,和显卡型号没有关系。
3、问:WIN7自带了了directX11,还用另安装directX9吗?这两天正在学封装WIN7,突然发现个问题,就是看到系统自带了directX11,那还用在部署的时候安装directX9么?看网上有的说11包含9了,有的说各是各的,知道的来说说吧
答:需要安装directX9,D9是D9 ,D11是D11,D11不包含D9,说D11包含D9的是不懂装懂。现在很多大型游戏都要装这个directX9(大部分游戏还是D9的),如果你玩游戏的话那DX9是必须的,所以必须装。
4、DirectX9.0C和VBVC静默版的调用时间
问:DirectX9.0C和VBVC静默版是要封装前安装,部署时调用,还是部署完进系统后调用?如果是部署时调用,那应该是部署前,部署中,还是部署后呢?
答:
一般是在部署时调用,目的是为了控制体积
需要控制体积的话,部署时装;不需要控制体积的话,封装前装。
部署中 部署后 都可以,我一般是在部署中注册组件时调用。
【5】Adobe Flash Player
Adobe Flash Player 静默安装参数是 -install
例子:FlashPlayer.exe -install
【6】关于 封装工具默认参数设置~~
问:一直没用过这个功能,就是一个软件调用静默安装,比如ABC.exe 默认参数是/q 那在参数里写/q还是 ABC.EXE /q ?
Skyfree回复: /q
【7】java VM虚拟机
1、问:封装时需要安装JAVA虚拟机吗?母盘没有集成,请问各位 封装时JAVA虚拟机这个东西还需要装吗?怎么感觉装和不装没啥区别。
答:我认为应该装,因为现在很多网页有JAVA内容,需要这个虚拟机打开。
2、问:MS-JAVA和SUN-JAVA有什么区别?封装应该装哪个?封装的时候应该装哪个软件啊?还是都的装啊?
答:MSjava N年没更新过了.. Sunjava比MSJAVA强. 使用SUN-JAVA即可。
3、推荐使用sun java vm 而不用ms java vm 的原因:
(1)用原版XPSP3安装,安装微软Java虚拟机(Microsoft Java Virtual Machine) ,在IE8中经常会出现内存错误。
(2)我的也是,装了微软的Java后 IE8老是出错,后来装了SUN的Java就没有问题
(3)MS java VM 那个东西不好啊,和ie8.0冲突,当弹出要安装activex时就崩溃,不信原版安装完后更新ie8,去微软网站更新就会出错了
(4)ms java vm 已经很久没更新了! sun java vm 倒是比较常用&常更新!!
(5)MS java VM与IE8明显不兼容,为什么大家还要集成呢?
前天用实体机封装时发现的,但急于封装,就用了IE7。
封完了不满意,不过也不急了,用虚拟机准备重封时测试了下,目前看,MS java VM严重与IE8不兼容,同时安装这2个,然后打开MSN官网或在线更新网站都报错,3个全是微软自家的。很是奇怪论坛居然没有醒目提示,反反复复测试了几小时,目前看sun java和IE8暂时不存在问题,不过在HP最著名的灌水D版发贴几十分钟内收到的回复来看,貌似没必要集成java,还是比较少的。我现在偏向不集成java,或再测试sun java的兼容性。
4、请问如果不安装java vm对电脑的使用有什么影响。 看了许多教程,封装系统的时候都把这个加里面了
最佳答案
1,什么是Java虚拟机
Java虚拟机(JVM)是Java Virtual Machine的缩写,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能模拟来实现的。Java虚拟机有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
2,为什么使用Java虚拟机?
Java语言最重要的特点就是可以在任何操作系统中运行。使用Java虚拟机就是为了支持与操作系统无关,在任何系统中都可以运行。
3,Java虚拟机的基本原理
Java虚拟机屏蔽了与具体操作系统平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。Java虚拟机在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。
我们上网时,有些网页是用java语言写的,以及一些java程序脚本等等都需要系统中有Java虚拟机时才能打开察看。不过,有些恶意网页有带病毒的java脚本程序,使电脑中毒。但毕竟是少数。如果不装的话可能中的毒就少一些,但这个虚拟机还是很实用的,很多地方都要用到,建议安装。
【8】保存输入法
XP的话:控制面板-区域与语言-高级-将所有设置应用与当前用户帐户和默认用户配置文件-将其打勾-应用-确定。
win7的话:控制面板—区域和语言—管理—复制设置,然后勾选“欢迎屏幕和系统帐号”和“新建用户帐户”,最后单击“确定”保存设置退出。
(注:由于使用sysprep重新封装系统后,在恢复安装时系统将把输入法的相关设置还原到系统默认状态,封装前新安装的输入法将不在语言栏的列表里显示,需手动再次添加)意思是说,或者比如说:在你装了系统后,我是说的原版的,里面是没有五笔字型输入法的,需要你自己动手去安装;如果你不做这一步的话,系统被你重新封装后再还原,你之前装的“五笔字型输入法”就找不到了。
【9】请问如何彻底删除示例图片?
问:在封装前我是清空了我的文档和共享文档类图片收藏夹里的图片的,为什么封装完后进如系统那些原来的示例图片又出现了?求解答
答:封装完成后,需要到PE下删除公用文件夹下面的示例图片。如果你是在封装前删除的话。那么封装后会自动又生成。封装完成后再删除就没了。
【10】在系统部署安装网络组件时出现 svchost.exe - 应用程序错误 XXX该内存不能为“read”的解决方法
(1) 精简掉“桌面清理向导”造成的
桌面清理向导,很多人认为这是个无用的功能,很多时候还会打乱我们对桌面布局的排布。在系统精简时很多时候都会将 “桌面清理向导”直接精简掉。但是在系统部署时注册组件时需要这个组件, 没有“桌面清理向导”组件时就会报错。 所以如果系统已经精简掉了“桌面清理向导” ,那么请到完整版的系统中搜索“fldrclnr.dll”并放置于 System32 文件夹下。
(2)优化注册表时我们一般都是彻底关闭DR.WATSON:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"Auto"="0"
就是它带来内存不能读,其实你把"Auto"="0"改为"Auto"="1"就可以了。
其实这是我们优化注册表的一个重大错误!
不相信吗,试试就知道了。
PS:这个帖子 http://bbs.itiankong.com/thread-280327-1-1.html 里的楼主采用第(2)种方法解决了问题。
【11】关闭系统休眠:
打开控制面板,双击“电源选项”,选择“休眠”,把“启用休眠”前的勾去掉,然后点“确定”。这时在系统分区C盘根目录下的页面文件hiberfil.sys就会自动删除。
Windows的休眠功能和系统还原一样,都占用了很大的磁盘空间,休眠功能占用系统分区的大小和物理内存的空间相当。
【12】关于转移虚拟内存页面文件的问题
问 :
新装的系统,默认虚拟内存在C盘的,现把虚拟内存放到D盘上再封装系统,这样有没影响的?
因为虚拟内存放到D盘上可以省出几百M。
答:
(1)设置不设置都无所谓,GHOST 8.3 以上版本在备份时会自动忽略虚拟内存文件!所以不用在意,我一般喜欢设成c盘自动,让系统自己去调整
(2)没影响、转移到D盘是为了便于估算封装的系统的大小
(3)没有影响的 LZ 不用担心 一般没有必要移 放到其他盘还不是要占空间~~
(4)如果使用v8.0以上版本的Ghost进行克隆系统的话,转移虚拟内存页面文件这一项其实可以不做,因为使用v8.0以上版本的Ghost在制作镜像文件时能够自动删除虚拟内存页面文件pagefile.sys。
【13】部署中已经可以识别USB键鼠了吗?还需要加载USB键鼠驱动吗?
问:
xp系统部署中调用万能驱动,为了方便手动选择驱动,需要支持USB键鼠,这个时候在部署前是否还需要加载USB键鼠驱动?
Skyfree:
部署中调用E驱动,部署前无需再加载USB鼠标键盘U盘驱动,USB类设备驱动是最小化安装时自动安装上的。
【14】解决计算机共享要密码才能访问
解决方法:
1、当两台计算机的当前登陆名都是一样的(在你这里看来是administrator了),并且此用户名的密码不一样时,就会出现你这种情况,让你输入密码。
2、要保证登陆时不输入密码,必须要满足以下几点:(1)、开启计算机的 guest 用户,并且此用户不设置密码。(2)、各计算机登陆时的用户名必须不一样(所以我公司在做系统时,每台电脑的用户名都不一样, 一般我是以计算机名的简称为用户名,因计算机名在局域网里是唯一的,所以这样此用户名也会是局域网里唯一的)。(3)、必须开启server服务,不然不能共享。(4)、必须在安装“网络的文件和打印机共享”协议,不然不能共享。
问:你的意思是只要使用guest用户进行访问或者换一个用户名时就不会出现这样的问题了是吗?
回复:不是让你直接使用guest用户进行访问。而是开启guest用户之后,所有只要是不一样的用户名,在登陆对方的计算机时,此用户名都会被认为是guest用户,只要本地guest用户没有设置密码,则就不需要密码就可以访问。
【15】我封装后的系统,为什么每次登录ftp都需要重复输入用户名和密码呢?
我已经登录了ftp,但是当我选择ftp里的任何一个文件夹时又提示我要输入用户名和密码登录,请高手指点这是什么原因嗯?用别的系统就不会出现这种问题,只需要登录一次就行了,不需要重复输入用户名和密码。
解决方法:
XP的话:文件夹-工具-查看 去掉“在单独进程打开文件夹” 的勾 ,单击确定保存退出即可。
win7的话:文件夹—组织—文件夹和搜索选项—查看 去掉“在单独进程打开文件夹”的勾 ,单击确定保存退出即可。
或者 下面注册表:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"SeparateProcess"=dword:000000006
【16】通过注册表修改注册ID(慎用!!!)
在 HKEY_Local_Machine\Software\Microsoft\Windows NT\Current Version下的ProductId,自己随意更改啦!
干脆帮你写一个注册表导入好啦
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion]
"ProductId"="修改自己喜欢的ID啦"
复制上面的东东,另存reg双击导入即可
ps:修改后封装系统的话会导致系统无法激活,因此如果真的要修改ID的话建议在系统部署后首次进桌面才调用注册表修改ID。
【17】如何在做好的gho镜像里,添加注册表信息?
这是一个例子:
使用ghost explorer把“WINXPSP3.GHO”中在“\WINDOWS\system32\config”里的文件“software”,提取出来,在主机电脑里打开注册表,选中项目“HKEY_LOCAL_MACHINE”,单击工具栏的“文件”→“加载配置单元”选中刚才提取来的文件“software”,随便取个名称,比如:liming然后点击“HKEY_LOCAL_MACHINE\liming相应的你想修改的键值修改过来。最后,点中“liming”,单击工具栏的“文件”→“卸载配置单元”,确定后修改完毕在使用ghost explorer替换到回到“WINXPSP3.GHO”中。
【18】WIN7
1、封装 WIN7 可以在部署前调用,也可以在部署中调用e驱动。但是根据我的经验,在部署中调用e驱动为好,部署时间很快。而如果在部署前调用e驱动,部署时间很慢,而且CPU使用率还好几次是百分之百。
2、WIN7 安装版整合IE9的参数
WIN7 安装版整合IE9,只要加一些参数就可以
IE9.exe /update-no /passive /norestart
以上参数
/update-no ——不查找和下载更新。查找和下载更新的时间很长,甚至于下载失败,造成安装失败。
/passive ——自动安装;
/norestart ——不重启动
也可以 /forcerestart ——安装完成后自动重新启动计算机,无需用户选择或操作
3、win 7 快速启动栏保存的一点注意事项
最近发现加在WIN7快速启动栏里的工具栏老是保存不了,用着用着,不知道什么时候就没有了。经过将近两个月的使用,发现不仅跟语言栏冲突有可能,也有添加方法不正确也会这样。
我们在添加工具栏到任务栏之前,最好先解除锁定任务栏,再把想要加的程序图标,工具栏等加入任务栏里。最好是重启下,再锁定任务栏。WIN7是一个非常完整的,也是非常呆板的系统,如果我们的操作有不正规,违反操作步骤的情况,可能会出现一些意想不到的问题。比如在锁定的任务栏里,再添加工具栏,就会经常加不入注册表里,或者经常恢复还原回来。
4、WIN7系统里用户配置比较重要的几个文件夹
C:\Users\Public\Desktop
公用桌面,桌面图标最好都放在公用桌面里
C:\Users\Default\Desktop
默认桌面
C:\Users\Default\AppData
这个文件夹比较重要,一般软件把用户的配置文件都放在这里的
C:\Users\Default\AppData\Roaming
漫游文件夹,这个名字取得真好,里面的配置都是可以在多个用户之间漫游的,对里面的数据进行修改,都会应用到所有新建的用户(系统装部署后新建的Administrator用户也得到应用),效果就像360浏览器的网络漫游收藏夹,呵呵
C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu
默认新建用户的开始菜单
C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
开始菜单里的程序栏
C:\Users\Default\AppData\Roaming\Microsoft\Windows\SendTo
发送到菜单
C:\Users\Default\AppData\Roaming\Microsoft\Windows\Themes
桌面壁纸缓存,只要用Administrator下面的文件替换掉这个文件夹,包括里面的slideshow文件,就可以实现个性化桌面的保留,包括主题跟桌面壁纸的选择
C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu
开始菜单,就是开始菜单最顶上的菜单,一般都是放IE,outlook什么的
C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
任务栏
C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch
快速启动栏
5、如果把我的文档,收藏夹,桌面移动到D盘,系统部署好了之后,会还原这些文件回C:\Users\Administrator,但是系统注册表里我的文档,收藏夹,桌面的路径指向还是在D盘的,可以在ES3/4设置删除目录任务,首次进入桌面依次删除如下文件夹:
C:\Users\Administrator\Contacts
C:\Users\Administrator\Desktop
C:\Users\Administrator\Links
C:\Users\Administrator\Downloads
C:\Users\Administrator\Music
C:\Users\Administrator\Pictures
C:\Users\Administrator\Saved Games
C:\Users\Administrator\Searches
C:\Users\Administrator\Videos
C:\Users\Administrator\Favorites
【19】封锁/解除封锁IE浏览器
Windows Registry Editor Version 5.00
;封锁IE浏览器
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
"HomePage"=dword:00000001
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions]
"NoBrowserOptions"=dword:00000001
----------------------------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
;解除封锁IE浏览器
[-HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Control Panel]
[-HKEY_CURRENT_USER\Software\Policies\Microsoft\Internet Explorer\Restrictions]
【20】Easy Sysprep加入还原桌面图标顺序的功能(附AU3源码)
封装前,桌面有许多应用程序的快捷方式图标,我们按照一定的类型进行排序(如网络浏览类的浏览器、QQ、迅雷等;影音娱乐类的千千静听、PPS影音、QQ影音、酷狗音乐...等),便捷日常操作和使用习惯。
封装后,这些快捷方式排序会发生变化,还需要我们手动进行调整,是否可以让Easy Sysprep封装后自动记忆桌面图标位置然后在部署完成后自行还原呢?!于是便有了这样的想法。
附:AU3源码
#NoTrayIcon
#AutoIt3Wrapper_icon=D:\autoit3\Aut2Exe\Icons\FOLDER.ico
;~ #AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseAnsi=y
#AutoIt3Wrapper_Res_Comment=2008-04-19, 23:31
#AutoIt3Wrapper_Res_Description=桌面图标同步程序
#AutoIt3Wrapper_Res_Fileversion=1.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=Amu
#include <GuiListView.au3>
Opt("MustDeclareVars", 1)
Global $hWndManager = WinGetHandle("Program Manager")
Global $hWndDesktop = ControlGetHandle("Program Manager","",1)
If Not IsDeclared("GWL_STYLE") Then Global Const $GWL_STYLE = -16
Global $LVS_Style = _WinAPI_GetWindowLong($hWndDesktop, $GWL_STYLE)
Global $inifile, $iSet, $iRefresh, $SNAPTOGRID
If $CmdLine[0] Then
For $i = 1 To $CmdLine[0]
Select
Case StringRegExp($CmdLine[$i], ‘^[/-](?i)load[=:].+$|^[/-](?i)l[=:].+$‘) And Not $inifile
$iSet = 1
$inifile = StringRegExpReplace($CmdLine[$i], ‘^[/-](?i)load[=:]?|^[/-](?i)l[=:]?‘, "")
Case StringRegExp($CmdLine[$i], ‘^[/-](?i)save[=:].+$|^[/-](?i)s[=:].+$‘) And Not $inifile
$iSet = 0
$inifile = StringRegExpReplace($CmdLine[$i], ‘^[/-](?i)save[=:]?|^[/-](?i)s[=:]?‘, "")
Case StringRegExp($CmdLine[$i], ‘^[/-](?i)SnapToGrid[=:]\d+$|^[/-](?i)g[=:]\d+$‘) And $inifile
$SNAPTOGRID = Number (StringRegExpReplace($CmdLine[$i], ‘^[/-](?i)SnapToGrid[=:]?|^[/-](?i)g[=:]?‘, "") )
Case StringRegExp($CmdLine[$i], ‘^[/-](?i)Refresh$|^[/-](?i)r$‘)
$iRefresh = 1
Case StringRegExp($CmdLine[$i], ‘^[/-](?i)Help$|^[/-](?i)[?h]$‘)
MsgBox(64,"参数帮助!","AutoIcon.exe [</load|/save>=<file>] [/G=<0|1>] [/R]" & @CRLF & "" & @CRLF & _
"/load=file 要加载的配置文件。" & @CRLF & "/save=file 要保存的配置文件。" & @CRLF & _
"/G=<0|1> 为“0”取消图标对齐到网格,为“1”图标对齐到网格,默认不作更改。" & @CRLF & "/R 相当于桌面右键“刷新”")
Exit
Case Not $inifile
$inifile = $CmdLine[$i]
If FileExists($inifile) Then $iSet = 1
EndSelect
Next
Else
$inifile = @ScriptDir &"\icoSpace.ini"
If FileExists ($inifile) Then
$iSet = 1
Else
$iSet = 0
EndIf
EndIf
If $iSet Then
If $SNAPTOGRID Then $SNAPTOGRID = $LVS_EX_SNAPTOGRID
If IsNumber ($SNAPTOGRID) Then _SendMessage($hWndDesktop, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_SNAPTOGRID, $SNAPTOGRID)
If BitAND($LVS_Style, $LVS_AUTOARRANGE) Then _WinAPI_SetWindowLong($hWndDesktop, $GWL_STYLE, $LVS_Style - $LVS_AUTOARRANGE );取消自动排列
If $iRefresh Then DllCall("shell32.dll", "none", "SHChangeNotify", "long", 0x8000000, "int", 0, "ptr", 0, "ptr", 0);刷新图标
_SaveAndLoadIconPos($inifile, 1)
;Run("RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters");刷新桌面(通过复制文件的方式替换壁纸文件适用)
Else
_SaveAndLoadIconPos($inifile)
EndIf
Func _SaveAndLoadIconPos($iFile, $iLoad = 0)
Local $iCount, $iIndex, $sName, $xy
If Not IsHWnd($hWndManager) Then $hWndManager = WinGetHandle("Program Manager")
If Not IsHWnd($hWndDesktop) Then $hWndDesktop = ControlGetHandle("Program Manager","",1)
$iCount = ControlListView($hWndManager, "", $hWndDesktop, "GetItemCount")
If @error Then
SetError(1)
Return 0
EndIf
If Not $iLoad And FileExists($iFile) Then IniDelete($iFile, "图标位置")
For $iIndex = 0 to $iCount - 1
$sName = ControlListView($hWndManager, "", $hWndDesktop,"GetText", $iIndex)
If $iLoad Then
$xy = StringSplit (IniRead ($iFile, "图标位置", $sName, ""), ",")
If $xy[0] = 2 Then _
_SendMessage($hWndDesktop, $LVM_SETITEMPOSITION, $iIndex, BitOR(BitShift($xy[2], -16), BitAND($xy[1], 0xffff) ) )
Else;保存图标信息
$xy = _GUICtrlListView_GetItemPosition($hWndDesktop, $iIndex)
IniWrite($iFile, "图标位置", $sName, $xy[0] & "," & $xy[1] )
EndIf
Next
Return 1
EndFunc
1、第一次运行,会自动按图标生成配置文件“icoSpace.ini",第二次运行,如果检测到有”icoSpace.ini"文件存在,则自动还原桌面图标位置
2、运行程序加参数:xxx.exe /load=icoSpace.ini 会自动读取icoSpace.ini还原桌面图标位置,如果ini文件不存在,则自动创建icoSpace.ini
运行程序加参数:xxx.exe /save=icoSpace.ini 生成图标位置配置文件icoSpace.ini
----------------------------------------------------------------分割线----------------7月1日--------------------------------------------------------------
一些常见的优化误区
前言:
常常能看到一些 “绝招”在网络上多次转载。然而,一些错误的“绝招”也同样在多个地方多次出现,不但许多初学者照着做,许多老鸟也用这些招数来教别人,甚至一些系统“优化”软件也采用了这些错误的“绝招”。究其原因,归根结底是由于学习这些“招数”的人并没有搞清这些招数的内在原理就照葫芦画瓢,只学动作,不学内功,才导致以讹传讹,一错再错。
以下列举几条常见的、多次重复刊登的错误“绝招”,简要介绍它的原理并指出其错误之处,然后给出正确的设置方法。通过这几个例子,希望能引起大家的重视,遇到别人给出的“绝招”时能自己再动动脑筋思考思考,知其然更要知其所以然,避免“走火入魔”。
(1)自动释放不用的 Dll (即不加载多余的DLL文件)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDLL"=dword:00000001
很多优化软件都有关于该项功能的优化,即在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer下增加“AlwaysUnloadDLL”为‘1‘的键值。
这是一个经常用的优化技巧,但经过查证和测试,证明该选项对于Windows 2000以后的操作系统无效。
首先,Microsoft仅在一处官方文档有以下说明:“For operating systems Prior To Windows 2000, you can shorten the inactive period by adding the following information to the registry. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer AlwaysUnloadDLL”。从Microsoft的官方文档我们可以得知该选项仅对Windows2000以前的系统有效。
其次,通过分析Windows2000/XP/2003以后操作系统的内存管理模式验证了该选项无效,简述如下:Windows2000/XP/2003采用了一种较以前Windows 9x更为复杂而有效的手段来管理内存,从而实现了动态链接库加载与卸载的智能化管理。
例如:当用户关闭了需调用动态链接库B的应用程序A时,Windows并不会立即释放动态链接库B,因此当用户再次启动应用程序A时将获得较第一次更快的启动速度。那么Windows何时释放该动态链接库呢?答案是当其它应用程序向Windows申请内存空间时,若Windows无法在现有空闲空间分配足够的内存给该请求,就会自动释放这类已未被引用的动态链接库(Dll)了。
而且对于日常办公的朋友来说,经常打开一些 OFFICE 程序、看图程序等,如果每次退出程序都清理 DLL 文件的话,重新运行该程序则会比不优化多花上太多的时间。
综上,Windows2000/XP/2003/Vista后内存管理已经非常有效了,我们不应该再主动去设置是否强制卸载暂时尚未使用的动态链接库,即便该选项是有效的,也只会降低系统的整体性能。
(2)加快显示速度
◆加快窗口显示速度
打开注册表编辑器,找到HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics,右边窗口找到MinAniMate键值,把它改为0。
◆加快开始菜单的显示
打开注册表编辑器,找"HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay"主键,适当调小该键值,最低可设为“0”。如果此方法无效,请从“控制面板”-“显示属性”-“显示效果”-“高级”,将"show menu shadow"项的选择取消,便可加快开始菜单的显示。
这两点优化,呵呵,其实算不上是优化,因为它并没有给系统带来任何的性能上的提升,所改变的只是菜单的显示延时没了,换句话说,只是改变了显示效果而已。看个人习惯的,我喜欢看到菜单慢慢出来再慢慢消失的过程,一般设置为 100。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、
哎 帖子太长了,被限制字数了,都怪当初没有占楼编辑。 对于接下来的部分大家请看“回帖推荐”!
不好意思哦,搞了隐藏回复,没办法了,不这样做的话这篇帖子不仅很快就沉了下去,而且还会被锁帖,为了不想让悲剧重演,只好麻烦大家了。各位走过路过如果觉得这篇帖子有用的话就帮忙顶下帖,以便迅速解决新手的问题,当然这些还不够,以后如果有空的话我会继续更新的。
呵呵 多谢S大了 帮我设置高亮和置顶操作 谨遵S大建议,取消回复可见及相关内容。
PS:有问题的话欢迎大家指出以便我进行修改
本帖最后由 玩看 于 2013-11-6 21:21 编辑
---------------------------------------------------------------------------7月1日更新-----------------------------------------------------------------------
前言:
常常能看到一些 “绝招”在网络上多次转载。然而,一些错误的“绝招”也同样在多个地方多次出现,不但许多初学者照着做,许多老鸟也用这些招数来教别人,甚至一些系统“优化”软件也采用了这些错误的“绝招”。究其原因,归根结底是由于学习这些“招数”的人并没有搞清这些招数的内在原理就照葫芦画瓢,只学动作,不学内功,才导致以讹传讹,一错再错。
以下列举几条常见的、多次重复刊登的错误“绝招”,简要介绍它的原理并指出其错误之处,然后给出正确的设置方法。通过这几个例子,希望能引起大家的重视,遇到别人给出的“绝招”时能自己再动动脑筋思考思考,知其然更要知其所以然,避免“走火入魔”。
(1)自动释放不用的 Dll (即不加载多余的DLL文件)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer]
"AlwaysUnloadDLL"=dword:00000001
很多优化软件都有关于该项功能的优化,即在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer下增加“AlwaysUnloadDLL”为‘1‘的键值。
这是一个经常用的优化技巧,但经过查证和测试,证明该选项对于Windows 2000以后的操作系统无效。
首先,Microsoft仅在一处官方文档有以下说明:“For operating systems Prior To Windows 2000, you can shorten the inactive period by adding the following information to the registry. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer AlwaysUnloadDLL”。从Microsoft的官方文档我们可以得知该选项仅对Windows2000以前的系统有效。
其次,通过分析Windows2000/XP/2003以后操作系统的内存管理模式验证了该选项无效,简述如下:Windows2000/XP/2003采用了一种较以前Windows 9x更为复杂而有效的手段来管理内存,从而实现了动态链接库加载与卸载的智能化管理。
例如:当用户关闭了需调用动态链接库B的应用程序A时,Windows并不会立即释放动态链接库B,因此当用户再次启动应用程序A时将获得较第一次更快的启动速度。那么Windows何时释放该动态链接库呢?答案是当其它应用程序向Windows申请内存空间时,若Windows无法在现有空闲空间分配足够的内存给该请求,就会自动释放这类已未被引用的动态链接库(Dll)了。
而且对于日常办公的朋友来说,经常打开一些 OFFICE 程序、看图程序等,如果每次退出程序都清理 DLL 文件的话,重新运行该程序则会比不优化多花上太多的时间。
综上,Windows2000/XP/2003/Vista后内存管理已经非常有效了,我们不应该再主动去设置是否强制卸载暂时尚未使用的动态链接库,即便该选项是有效的,也只会降低系统的整体性能。
(2)加快显示速度
◆加快窗口显示速度
打开注册表编辑器,找到HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics,右边窗口找到MinAniMate键值,把它改为0。
◆加快开始菜单的显示
打开注册表编辑器,找"HKEY_CURRENT_USER\Control Panel\Desktop\MenuShowDelay"主键,适当调小该键值,最低可设为“0”。如果此方法无效,请从“控制面板”-“显示属性”-“显示效果”-“高级”,将"show menu shadow"项的选择取消,便可加快开始菜单的显示。
这两点优化,呵呵,其实算不上是优化,因为它并没有给系统带来任何的性能上的提升,所改变的只是菜单的显示延时没了,换句话说,只是改变了显示效果而已。看个人习惯的,我喜欢看到菜单慢慢出来再慢慢消失的过程,一般设置为 100。
(3)禁用闲置的IDE通道可以提速
不错,说得很有道理,这一条技巧是很实用的,确实可以加速系统的启动。但不是万用的,大家有条件找不同时期配置的几台机器验证就很容易知道,尤其对于像ICH5/6 南桥芯片这是很好的提速办法。(至于像VIA的8327或者nForce芯片组的南桥限于条件本人尚未亲自验证)因为他们支持SATA和RAID的缘故。会在启动时花费更多时间检测,所以利用这个方法可以达到很好的效果。 但是对于像2001年前的ICH2/3 南桥大多数的情况下效果是很有限的。
正确的做法应该是在Bios中把闲置的IDE通道有默认的“AUTO”改为:“NONE”,然后进入系统在“设备管理器”中在此设置为“无”,确定保存即可。
小结
由于SuperFetch是为机械盘优化的,对于传统的机械硬盘不推荐关闭预读。不过对于固态硬盘就另当别论了,对于SSD建议关闭预读,限于帖子长度,具体细节请自行百度。——在这里感谢357楼 silveryc 指出。
以上是关于[经验] 系统封装常见问题大总结(非官方)的主要内容,如果未能解决你的问题,请参考以下文章
[官方软件] Easy Sysprep v4.3.29.602 系统封装部署利器(2016.01.22)--skyfree大神
Android拍照调用系统相册仿微信封装总结,治疗各种崩溃,图片横竖问题压缩等问题。