[經驗] 系統封裝常見問題大總結(非官方)
玩看 發表於 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 指出。
