国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
延遲刪除的故事

注意:
1
.本文內(nèi)容用于描述Windows 2000 及以上操作系統(tǒng)提供的延遲刪除的功能,作者擁有本文的全部版權(quán)。
2
.未經(jīng)許可,嚴禁任何個人、組織將本文用于任何商業(yè)場所、各種平面媒體和各種商業(yè)網(wǎng)站上。違者需要承擔(dān)相應(yīng)的法律責(zé)任。
3
.對于本文提供的內(nèi)容,作者保留隨時進行修訂而不告知的權(quán)利。
4
.對于本文所列舉軟件、書籍的版權(quán),均由軟件持有者和書籍作者所有。

說起延遲刪除,大家可能都很陌生,但是實際上,該功能已經(jīng)被各種軟件所采用:如安裝Windows 補丁程序(如:hotFix Servicepack )、安裝office 補丁程序、反病毒軟件的的清除、軟件的升級等等等等… …
本文將首先介紹延遲刪除/重命名的工作機制,然后介紹如何使用這個功能維護你的系統(tǒng)。

一、什么是延遲刪除/重命名

很多人可能都碰到過下面的一種情形:在安裝某個軟件的時候,安裝程序正在初始化,突然,安裝程序彈出一個類似于下面所描述的警告提示:發(fā)現(xiàn)有重啟操作沒有完成,在重啟系統(tǒng)之前安裝過程不能繼續(xù)。然后安裝程序自動退出。
這類提示最常發(fā)生在安裝Microsoft SQL Server 的時候。
之所以出現(xiàn)這種提示,是因為安裝程序檢測到了有未完成的重啟。那么安裝程序是如何發(fā)現(xiàn)有未完成的重啟呢?這就是本文的要點所在:Wind 。仍Z000lXPIServer 2003 的延遲刪除/重命名功能。

對于軟件開發(fā)人員來說,Windows 2000/XP/Server 2003 的延遲刪除/重命名功能并不是什么新鮮玩意,但是其實行的機制倒很少有人會關(guān)注。本文不想過多地涉及windows內(nèi)部的實現(xiàn)機制,但是僅從一個側(cè)面簡單的描述一下Windows Z000lXPIServer 2003 的延遲刪除/重命名功能的原理和適用范圍。

對于windows操作系統(tǒng)而言,要想成功的刪除一個文件或重命名一個文件,需要滿足一個條件:文件不能被占用??墒怯械臅r候,要刪除/重命名的文件總是被某個進程占用著,這樣一來操作者就無法對這個文件進行刪除和重命名。要解決這個問題,微軟在windows操作系統(tǒng)里面提出了一個延遲刪除/重命名的功能。
需要說明的是,這個功能不僅存在于Windows 2000/XP/Serve 2003 操作系統(tǒng)里面,對于windows 9X ,這個功能也是存在的.只不過本文的重點在于介紹

延遲刪除/重命名的基本實現(xiàn)原理是這樣的:
1.
如果有任何應(yīng)用程序需要使用延遲刪除l 重命名功能,那么該應(yīng)用程序會使用一個特殊的參數(shù)MOVEFILE_DELAY_UNTIL_REBOO 丁來命令win32 API 函數(shù)MoveFileEx() 在系統(tǒng)里面注冊一個延遲刪除l 重命名操作。注冊的記錄放在注冊表HKEY LOCAL MACHINE \ SYSTEM \ CurrentControlset \ Control \ Session Manager \ PendingFileRename0perations PendingFileRenameoperationsZ 鍵值下面。該鍵值是一個REG_MULTI_SZ 類型的鍵值,注冊表編輯器無法直接編輯這種類型的鍵值。
警告!不要使用注冊表編輯器直接編輯這個鍵值,這樣會造成系統(tǒng)無法判定是該執(zhí)行延遲刪除操作還是延遲重命名操作。
2.
操作系統(tǒng)在下次啟動的時候,由smss . exe 對上述的注冊表鍵值進行讀取分析并完成相應(yīng)的操作。需要注意的是,在執(zhí)行延遲操作的時候,Win32 子系統(tǒng)并沒有啟動,也就是說延遲操作是在沒有Win32 子系統(tǒng)干擾的情形下完成的。這樣設(shè)計的一個最大好處就是可以替換任何受鋤n32 子系統(tǒng)保護的文件。
3.
如果上述鍵值指定了一個文件需要被刪除,那么smss . exe 將執(zhí)行刪除操作,如果指定的是重命名操作,那么smss . exe 執(zhí)行的是重命名操作。
注意!如果執(zhí)行重命名操作的時候,和新文件名同名的文件存在,那么原有的文件將被覆蓋掉。例如:假設(shè)有一個文件C:\ 1.DLL 存在,而延遲重命名里面的記錄是把C : \ 2.DLL 改名為C:\ 1.DLL ,那么原來的C:\ 1.DLL 將被C:\ 2.DLL 比覆蓋掉。4 .當(dāng)所有的記錄完成以后,系統(tǒng)自動把上述的注冊表鍵值刪除掉,不會存留任何痕跡的。

現(xiàn)在說說軟件開發(fā)人員是如何使用這個功能的。
以安裝windows Service pack 為例。在Service pack 安裝完成以后,安裝程序肯定會提示用戶重新啟動。其實,重新啟動的過程就是一個執(zhí)行延遲刪除/重命名的過程。由于在安裝Service pack 的時候,很多文件不能夠被新版本的文件替換,如果碰到這個情況,安裝程序?qū)研掳姹疚募拿⒎诺胶团f版本文件同樣的目錄下面,然后在系統(tǒng)里面注冊一個延遲重命名操作。系統(tǒng)在下次啟動的時候,將執(zhí)行這個延遲重命名操作以便讓舊版本文件被新版本文件替換掉從而完成Service pack 的安裝。
對于延遲刪除來說,和延遲重命名類似。如果發(fā)現(xiàn)有一個文件不能夠被立即刪除,則軟件會注冊一個延遲刪除,讓操作系統(tǒng)在下次啟動的時候自動把文件刪除掉。

對于延遲刪除/重命名功能來說,軟件開發(fā)人員把這個功能用于以下方面:

新版本文件的替換
刪除不能立即刪除的文件

對于一般用戶而言,什么時候需要這個功能呢?

無法重命名一個總是被某個進程占用的文件
無法刪除一個文件。特別是要刪除一個計算機病毒體文件的時候。

以上兩種情況都可以使用延遲操作,讓操作系統(tǒng)按照你的設(shè)想完成你需要的操作。

回過頭說說安裝程序是如何發(fā)現(xiàn)由未完成的重啟的。由于延遲操作是記錄在注冊表特定鍵值下的,因此只需要檢測特定的鍵值就可以發(fā)現(xiàn)有未完成的重啟操作。

二、使用pendM0ve 來完成自己的延遲刪除/重命名

這里介紹使用pendMove 來完成自己的延遲刪除l 重命名操作。軟件開發(fā)人員也可以自己使用win32 API 函數(shù)編寫自己的工具。
PendMove
smallfrogs 開發(fā)的一款基于延遲刪除l 重命名原理的小工具,能夠?qū)崿F(xiàn)對指定文件的延遲刪除/重命名的配置,還能夠查看l 撤銷已經(jīng)注冊的延遲操作。該工具可以從http://www.kztechs.com/pendmove/download.html免費下載到。

使用延遲刪除功能:
點擊源文件框右邊的按鈕,選擇要刪除的文件,然后點擊保存修改按鈕就可以完成延遲刪除的注冊了。

2 .使用延遲重命名功能
點擊源文件框右邊的按鈕,選擇要改名的文件,然后點擊目標文件右邊的按鈕,輸入新的文件名,最后點擊保存修改按鈕就可以完成延遲重命名的注冊了。

3 .查看已經(jīng)注冊的延遲操作
點擊查看記錄按鈕可以看到所有已經(jīng)注冊的延遲操作。

本窗口將顯示系統(tǒng)在下次啟動的時候?qū)⒁獔?zhí)行的延遲刪除/重命名操作。

在這個對話框里面可以顯示所有已經(jīng)注冊的延遲操作。如果一個記錄后面跟有兩個空行才到下一個記錄,那么這個記錄一定是一個延遲刪除記錄。如果一行字符后面換行又是另一行字符,那么這2 行字符是一個延遲重命名操作。在前面的一行是一個舊文件名,而后面的一行是新的文件名。

4 .撤銷所有的延遲操作
在查看記錄對話框里面點擊全部撤銷按鈕可以把所有已經(jīng)注冊的記錄刪除掉。

三、后記

由于本人水平有限,如果發(fā)現(xiàn)有不正確的或有疏漏的地方,請指出:如果對本文有什么意見,也可以告知我。我的Email 是:smallfrog@gmail.com ,謝謝各位!

感謝您的閱讀

SmallfrogS 2005/6/23

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
``XP系統(tǒng)全面優(yōu)化``
奇虎快照
WINDOWS內(nèi)核學(xué)習(xí)清單 · EXP
十大流氓軟件完全卸載方案
自己動手刪除冗余DLL文件
windows系統(tǒng)資源不足要如何應(yīng)對
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服