史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   作業系統操作技術文件 (http://forum.slime.com.tw/f128.html)
-   -   windows FAQ (http://forum.slime.com.tw/thread59516.html)

psac 2003-08-12 11:22 PM

windows FAQ
 
windows FAQ
Q:
DLL文件是什麼?
A:
學習過編程的人都知道,使用函數可以提高程序效率,而DLL文件就是函數的合成,而且是很多函數,如果一個應用程式在使用函數的時候沒有找到的那個函數所處的DLL文件就會有錯誤出現。DLL的全稱是Dynamic Link Library,中文叫做「動態連結文件」。在Windows操作系統中,DLL對於程序執行是非常重要的,因為程序在執行的時候,必須連結到DLL文件,才能夠正確地執行。而有些DLL文件可以被許多程序共用。因此,程序設計人員可以利用DLL文件,使程序不至於太過巨大。

Q:
DOS的常用指令有哪些?
A:
至少應該知道以下幾個指令如何操作:DIR、TYPE、DEL、REN、COPY、RD、MD、CD、FORMAT、FDISK、EDIT等等。(其中FORMAT和FDISK是外部指令,需要額外的程序)

Q:
什麼是外部指令和內部指令?2者有什麼區別?
A:
外部指令和內部指令見於DOS下,區別在於內部指令已經集成在COMMAND.COM這個文件裡面,而這個文件是常駐記憶體的,而外部指令比如FORMAT就需要額外的外部程序FORMAT.COM來執行。

Q:
註冊表是什麼?
A:
Windows註冊表是說明 Windows控制硬體、軟體、用戶環境和Windows界面的一套資料文件,註冊表包含在Windows目錄下兩個文件system.dat和user.dat裡,還有它們的制作備份system.da0和user.da0。通過Windows目錄下的regedit.exe程序可以存取註冊表資料庫。在以前,在windows的更早版本(在Win95以前),這些功能是靠win.ini,system.ini和其他和應用程式有關聯的.ini文件來實現的.
  在windows操作系統家族中,system.ini和win.ini這兩個文件包含了操作系統所有的控制功能和應用程式的信息,system.ini管理電腦硬體而win.ini管理桌面和應用程式。所有驅動、字體、設定和參數會儲存在.ini文件中,任何新程序都會被記錄在.ini文件中。這些記錄會在程序程式碼中被引用。因為受win.ini和system.ini文件大小的限制,程序員增加輔助的.INI文件以用來控制更多的應用程式。舉例來說,微軟的Excel有一個excel.ini文件,它包含著選項、設定、預設參數和其他關係到Excel執行正常的信息。在system.ini和win.ini中只需要指出excel.ini的路徑和檔案名即可。

  早在Dos和Win3.x的時代,大部分的應用程式都是採用了 ini 文件(啟始化文件)來儲存一些配置資訊,如設定路徑,環境變數等。system.ini和win.ini控制著所有windows和應用程式的特徵和存取方法,它在少數的用戶和少數應用程式的環境中工作的很好。隨著應用程式的數量和複雜性越來越大,則需要在.ini文件中增加更多的參數項。這樣下來,在一個變化的環境中,在應用程式安裝到系統中後,每個人都會更改.ini文件。然而,沒有一個人在刪除應用程式後刪除.ini文件中的相關設定,所以system.ini和win.ini這個兩個文件會變的越來越大。每增加的內容會導致系統效能越來越慢。而且每次應用程式的昇級都出現這樣的難題:昇級會增加更多的參數項但是從來不去掉舊的設定。而且還有一個明顯的問題,一個.ini文件的最大尺寸是64KB。為了解決這個問題,軟體商自己開始支持自己的.ini文件,然後指向特定的ini文件如win.ini和system.ini文件。這樣下來多個.ini文件影響了系統正常的存取級別設定。如果一個應用程式的.ini文件和WIN.INI文件設定起衝突,究竟是誰的優先級更高呢?

  註冊表最初被設計為一個應用程式的資料文件相關參考文件,最後擴展成對於32位操作系統和應用程式包括了所有功能下的東東。註冊表是一套控制操作系統外表和如何回應外來事件工作的文件。這些「事件」的範圍從直接存取一個硬體設備到接頭如何回應特定用戶到應用程式如何執行等等。註冊表因為它的目的和性質變的很複雜,它被設計為專門為32位應用程式工作,文件的大小被限制在大約40MB。利用一個功能強大的註冊表資料庫來統一集中地管理系統硬體設施,軟體配置等信息,從而方便了管理,增強了系統的穩定性。最直觀的一個實例就是,為什麼windows下的不同用戶可以擁有各自的個性化設定,如不同的牆紙,不同的桌面。這就是通過註冊表來實現的。

  由此可見,註冊表(Registry)是Windows9x/Me/NT/2000操作系統、硬體設備以及客戶應用程式得以正常執行和儲存設定的核心「資料庫」;是一個巨大的樹狀分層的資料庫。它記錄了用戶安裝在電腦上的軟體和每個程序的相互關聯關係;它包含了電腦的硬體配置,包括自動配置的即插即用的設備和已有的各種設備說明、狀態內容以及各種狀態信息和資料等。

Q:
註冊表都做些什麼?

A:
  註冊表是為Windows NT和Windows95中所有32位硬體/驅動和32位應用程式設計的資料文件。16位驅動在Windows NT下無法工作,所以所有設備都通過註冊表來控制,一般這些是通過BIOS來控制的。在Win9x下,16位驅動會繼續以真實模式方式設備工作,它們使用system.ini來控制。16位應用程式會工作在NT或者Win9x 下,它們的程序仍然會參考win.ini和system.ini文件獲得信息和控制。
  在沒有註冊表的情況下,操作系統不會獲得必須的信息來執行和控制附屬的設備和應用程式及正確回應用戶的輸入。

  在系統中註冊表是一個記錄32位驅動的設定和位置的資料庫。當操作系統需要存取硬體設備,它使用驅動程式,甚至設備是一個BIOS支持的設備。無BIOS支持的設備安裝時必須需要驅動,這個驅動是獨立於操作系統的,但是操作系統需要知道從哪裡找到它們,檔案名、版本號、其他設定和信息,沒有註冊表對設備的記錄,它們就不能被使用。

  當一個用戶準備執行一個應用程式,註冊表提供應用程式信息給操作系統,這樣應用程式可以被找到,正確資料文件的位置被規定,其他設定也都可以被使用。

  註冊表儲存關於預設資料和輔助文件的位置信息、功能表、按鈕條、視窗狀態和其他可選項。它同樣也儲存了安裝信息(比如說日期),安裝軟體的用戶,軟體版本號和日期,序列號等。根據安裝軟體的不同,它包括的信息也不同。

  然而,一般來說,註冊表控制所有32位應用程式和驅動,控制的方法是關於用戶和電腦的,而不依賴於應用程式或驅動,每個註冊表的參數項控制了一個用戶的功能或者電腦功能。用戶功能可能包括了桌面外觀和用戶目錄。所以,電腦功能和安裝的硬體和軟體有關,對所以用戶來說項都是公用的。

  有些程序功能對用戶有影響,有些時作用於電腦而不是為個人設定的,同樣的,驅動可能是用戶指定的,但在很多時候,它們在電腦中是通用的。

  註冊表控制用戶模式的例子有:

  ★控制台功能;

  ★桌面外觀和圖示;

  ★網路參數;

  ★瀏覽器功能性和特徵。

  這些功能中的某些是和用戶無關的,有些是針對用戶的。

  電腦相關控制項關於電腦名稱,和登入用戶無關。控制類型的例子是安裝一個應用程式,不管是哪個用戶,程序的可用性和存取是不變的,然而,執行程序圖示依賴於網路上登入的用戶。網路傳輸協定可用性和優先權關於電腦,但是當前連接和用戶信息相關。

  這裡是在註冊表中基與電腦控制條目的一些例子:

  ★存取控制;

  ★登入驗證;

  ★文件和列印機共享;

  ★網路卡設定和傳輸協定;

  ★系統效能和虛擬記憶體設定。

  沒有了註冊表,Win9x和Windows NT 就不太可能存在。它們實在太複雜了,以致於用過去的.ini文件無法控制,它們的擴展能力需要幾乎無限制的安裝和使用應用程式,註冊表實現了它。然而,註冊表比.ini文件更複雜,理解它如何工作,它做什麼和如何用它來做是有效管理系統的關鍵。

  在系統中註冊表控制所有32位應用程式和它們的功能及多個應用程式的交互,比如複製和貼上,它也控制所有的硬體和驅動程式。雖然多數可以通過控制台來安裝和設定,理解註冊表仍是做Windows NT和Win9x系統管理基本常識。

  概括起來,註冊表中存放著各種參數,直接控制著 Windows 的啟動、硬體驅動程式的裝載以及一些 Windows 應用程式的執行,從而在整個系統中起著核心作用。它包括:

  (1)軟、硬體的有關配置和狀態信息,註冊表中儲存有應用程式和檔案總管外殼的初始條件、首選項和卸載資料。

  (2)連網電腦的整個系統的設定和各種許可,文件副檔名與應用程式的關聯,硬體設備的描述、狀態和內容。

  (3)效能記錄和其它底層的系統狀態信息,以及其它資料。

  如果註冊表受到了破壞,輕者使 Windows 的啟動程序出現異常,重者可能會導致整個系統的完全癱瘓。因此正確地認識、使用,特別是及時制作備份以及有問題時恢復註冊表,對Windows用戶來說就顯得非常重要。學會了註冊表的知識以及相關套用,便能使你的電腦操作更加得心應手!從而成為一位名副其實的電腦高手!

Q:
與註冊表有關的術語:
A:
  1、註冊表:是一個樹狀分層的資料庫。從物理上講,它是System.dat和User.dat兩個文件;從邏輯上講,它是用戶在註冊表編輯器中看到的配置資料。
  2、HKEY :「根鍵」或「主鍵」,它的圖示與檔案總管中資料夾的圖示有點兒相像。Windows98將註冊表分為六個部分,並稱之為 HKEY_name,它意味著某一鍵的句柄。(圖2)

  3、key(鍵):它包含了附加的資料夾和一個或多個值。

  4、subkey(子鍵):在某一個鍵(父鍵)下面出現的鍵(子鍵)。

  5、branch(分支):代表一個特定的子鍵及其所包含的一切。一個分支可以從每個註冊表的頂端開始,但通常用以說明一個鍵和其所有內容。   6、value entry(值項):帶有一個名稱和一個值的有序值。每個鍵都可包含任何數量的值項。每個值項均由三部分組成:名稱,資料類型,資料。(如圖3)

  ★ 名稱:不包括反斜槓的字串、數字、代表符、空格的任意組合。同一鍵中不可有相同的名稱。

  ★ 資料類型:包括字串串、二進制、雙字三種。

  字串串(REG_SZ):顧名思義,一串ASCII碼字串。如「Hello World」,是一串文字或詞組。在註冊表中,字串串值一般用來表示文件的描述、硬體的標識等。通常它由字母和數字組成。註冊表總是在引號內顯示字串串。   二進制(REG_BINARY):如 F03D990000BC ,是沒有長度限制的二進制數值,在註冊表編輯器中,二進制資料以十六進制的方式顯示出來。

  雙 字(REG_DWORD):從字面上理解應該是Double Word ,雙字元值。由1-8個十六進制資料組成,我們可用以十六進制或十進制的方式來編輯。如 D1234567 。

  ★ 資料: 值項的具體值,它可以佔用到64KB。

  7、 Default(預設值):每一個鍵至少包括一個值項,稱為預設值(Default),它總是一個字串。

Q:
註冊表的內部組織結構及相互關係

A:
  電腦配置和預設用戶設定的註冊表資料在Windows NT中被儲存在下面這五個文件中:DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。而 Windows9x/Me/2000將所有註冊表文件存入2個文件中:System.dat和User.dat。它們是二進制文件,不能用文本編輯器檢視。它們存在於Windows目錄下,具有隱含、系統、只讀內容。 System.dat包含了電腦特定的配置資料,User.dat包含了用戶特定的資料。User.dat文件的位置在以某個用戶名登入時,其位於C:\Windows\profiles\用戶名目錄下,系統同時在C:\Windows目錄下保留了一個預設的User.dat文件,以備新用戶使用。內部組織結構是一個類似於目錄管理的樹狀分層的結構。
  WINDOWS的註冊表有六大根鍵,相當於一個硬碟被分成了六個分區。

  在「執行」對話視窗中輸入RegEdit,然後按下「確定」按鈕,則可以執行註冊表編輯器。

  左視窗顯示的是註冊表的根鍵,這樣的根鍵共六個。這些根鍵都是大寫的,並以HKEY_為前綴,這種指令約定是以Win32 API的Registry函數的關鍵字的符號變數為基礎的。

  雖然在註冊表中,六個根鍵看上去處於一種並列的地位,彼此毫無關係。但事實上,HKEY_CLASSES_ROOT和HKEY_CURRENT_CONFIG中存放的信息都是HKEY_LOCAL_MACHINE中存放的信息的一部分,而HKEY_CURRENT_USER中存放的信息只是HKEY_USERS存放的信息的一部分。HKEY_LOCAL_MACHINE包括HKEY_CLASSES_ROOT和HKEY_CURRENT_USER中所有的信息。在每次系統啟動後,系統就映射出HKEY_CURRENT_USER中的信息,使得用戶可以檢視和編輯其中的信息。

  實際上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT,為了用戶便於檢視和編輯,系統專門把它作為一個根鍵。同理,HKEY_CURRENT_CONFIG\SY-STEM\Current Control就是HKEY_LOCAL_MACHINE\SYSTEM\Current Control。

  HKEY_USERS中儲存了預設用戶和當前登入用戶的用戶信息。HKEY_CURRENT_USER中儲存了當前登入用戶的用戶信息。

  HKEY_DYN_DATA儲存了系統執行時的動態資料,它反映出系統的當前狀態,在每次執行時都是不一樣的,即便是在同一台電腦上。

  根據上面的分析,註冊表中的信息可以分為HKEY_LOCAL_MACHINE和HKEY_USERS兩大類,這兩大類的詳細內容請看後面的介紹。

Q:
六大根鍵的作用
A:
  註冊表採用「關鍵字」及其「鍵值」來描述登入項及其資料。所有的關鍵字都是以「HKEY」作為前綴開頭。打個比喻來說,關鍵字更像Windows9X下的瀏覽器裡的目錄下的文件,每個文件都會有自己特有的內容和內容。我們可以在註冊表編輯器下很方便地增加、修改、查詢和刪除註冊表的每一個關鍵字。關鍵字可以分為兩類:一類是由系統定義,一般叫做「預定義關鍵字」;另一類是由應用程式定義的,根據應用軟體的不同,登入項也就不同。在註冊表中,所有的資料都是通過一種樹狀結構以鍵和子鍵的方式組織起來,十分類似於目錄結構。每個鍵都包含了一組特定的信息,每個鍵的鍵名都是 和它所包含的信息相關的。如果這個鍵包含子鍵,則在註冊表編輯器視窗中代表這個鍵的資料夾的左邊將有「+」符號,以表示在這個資料夾中有更多的內容。如果這個資料夾被用戶開啟了,那麼這個「+」就會變成「-」。 下面我們對系統預定義的六大根鍵簡單地介紹一下。
  1.HKEY_USERS

  該根鍵儲存了存放在本機電腦密碼列表中的用戶標識和密碼列表,即用戶設定。每個用戶的預配置資訊都存儲在HKEY_USERS根鍵中。HKEY_USERS是遠端電腦中訪問的根鍵之一。其內容取決於電腦是否啟動了使用者設定檔,若未啟動使用者設定檔,則可以看到稱為.DEFAULT的單一子鍵,該子鍵包括和所有用戶相關的各種設定,並且和\Windows下的USER.DAT文件相配合。若啟動了使用者設定檔並且正確地執行了登入,則還有一個「用戶名」的子鍵,該用戶名為用戶登入的名稱。

  2.HKEY_CURRENT_USER

  該根鍵包含本機工作站中存放的當前登入的用戶信息,包括用戶登入用戶名和暫存的密碼(註:此密碼在輸入時是隱藏的)。用戶登入Windows 98時,其信息從HKEY_USERS中相應的項拷貝到HKEY_CURRENT_USER中。HKEY_CURRENT_USER下面有7個子關鍵字。其中除RemoteAccess」外,其餘6個都為系統預定義。

  AppEvents 這個子鍵裡登記已註冊的各種套用事件。

  ControlPanel 它裡面涉及到控制台設定有關的內容。

  InstallLocationsMRU windows安裝路徑的有關信息。

  Keyboardlayout 關於鍵盤設定的信息。

  Network 有關網路設定的信息。

  RemoteAccess 安裝IE 時建立的子關鍵字,包含該應用程式的有關信息。

  Software 軟體的有關信息。

  3.HKEY_CURRENT_CONFIG

  該根鍵存放著定義當前用戶桌面配置(如顯示器等)的資料,最後使用的我的文件列表(MRU)和其他有關當前用戶的Windows 98中文版的安裝的信息。

  4.HKEY_CLASSES_ROOT

  該鍵由多個子鍵組成,具體可分為兩種:一種是已經註冊的各類文件的副檔名,另一種是各種檔案類型的有關信息。左欄中的子鍵就是各種已經註冊的文件副檔名。 註冊表內己經登記的文件副檔名中,有系統預設和應用程式自訂的副檔名。應用程式只有把自訂的副檔名在註冊表中登記,系統才能識別和關聯使用有關的我的文件,但只有經過註冊的副檔名,系統才能自動關聯。根據在Windows 98中文版中安裝的應用程式的副檔名,該根鍵指明其檔案類型的名稱。

  在第一次安裝Windows 98中文版時,RTF(Rich Text Format)文件與寫字板(WordPad)聯繫起來,但在以後安裝了中文Word 6.0後,雙按一個RTF文件時,將自動啟動Word。存放在SYSTEM.DAT中的HKEY_CLASSES_ROOT,將替代WIN.INI文件中的[Extensions]小節中的設定項,它把應用程式與文件副檔名聯繫起來,它也替代了Windows 3.x中的Reg.dat文件中的相似的設定項。

  5.HKEY_LOCAL_MACHINE

  註冊表的核心,電腦的各種硬體和軟體的配置均存在於此。它包括以下八個部分:Config配置、Driver驅動程式、Enum即插即用、Hardware硬體、Network網路、Security安全、Software軟體、System系統。每部分中又包括許多子鍵。該根鍵存放本機電腦硬體資料,此根鍵下的子關鍵字包括在SYSTEM.DAT中,用來提供HKEY_LOCAL_MACHINE所需的信息,或者在遠端電腦中可訪問的一組鍵中。該根鍵中的許多子鍵與System.ini文件中設定項類似。

  6.HKEY_DYN_DATA

  該根鍵存放了系統在執行時動態資料,此資料在每次顯示時都是變化的,因此,此根鍵下的信息沒有放在註冊表中。
Q:
常用的修復系統故障的方法有哪些?
A:
首先確定故障源,我一般先用SFC和Dxdiag檢查系統檔案,然後才做下一步的處理。詳細的程序將在以後描述。


Q:
在清空資源回收桶的時候報錯,但是清空功能仍然可以使用?如何解決?
A:
這個問題很一般,解決方法:在DOS下使用deltree指令刪除每個驅動器下的隱藏資料夾recycled,回到Windows時系統會重新新增新的資源回收桶資料夾的。

Q:
忘記Win2000/XP的管理員密碼怎麼辦?
A:
如果Win2000沒有安裝SP2,那麼可以在登入的時候使用中文輸入法的說明 進入系統修改管理員密碼。而對於已經安裝了SP2的Win2000和WinXP,只有重新安裝系統。

Q:
如何取消WinXP種自帶的ZIP關聯?
A:
1.安裝WinZIP或其他的壓縮工具,使用它們來替換。
2.在執行裡面輸入regsvr32 %windir%\system32\zipfldr.dll /u即可解除,如果想恢復,輸入regsvr32 %windir%\system32\zipfldr.dll即可

Q:
如何判斷WinXP已經啟動?
A:
在執行裡面輸入oobe/msoobe /a即可看到圖示說明
為什麼在Win98下執行IE6很容易出現非法操作?
問題不在於IE6,而在於你的系統。IE6剛剛出來的時候我馬上安裝了,結果也發現不是很穩定,後來經過檢查,發現如果全新安裝完Win98就安裝IE6,那麼就不會出現非法操作的現象。

Q:
WinXP被鎖定以後怎麼辦?
A:
WinXP的鎖定並不是真的鎖定,你仍然可以進入安全模式裡面操作。

Q:
如何把Win2000的NTFS文件系統中的文件解密?因為我忘記了原來的那個密碼,使用管理員修改密碼以後發現原來被加密的東西不能夠解密了。
A:
這個問題有點麻煩,因為Win2000/XP使用了EPS加密系統,他只認SID,而不認人。除非你做了密碼恢復盤,否則基本上不可能。不過這裡提供一個辦法:把加密的文件複製到FAT32文件系統的磁牒上,看看密碼會不會消失,因為FAT32文件系統不支持加密。

Q:
如何在Win2000/XP下將FAT32的文件系統轉換為NTFS的文件系統?
A:
在執行裡面輸入cmd,然後鍵入convert X /fs:ntfs (X指要轉換的驅動器)

Q:
WnME的系統還原功能為什麼不能夠使用?
A:
很遺憾!由於微軟的失誤,在WInME中自帶的系統還原有一個BUG,這個BUG造成2001年11月以後就不能夠使用系統還原了。目前微軟很早就推出相應的修正檔,請到這裡下載。但是安裝完這個修正檔以後以前的系統還原也就會丟失了。

Q:
為什麼在Win98正常模式下不能夠進行磁牒磁碟重整,總提示重新開始?
A:
因為有其他的程序在對磁牒操作,解決方法有2個:一是在安全模式下整理,二是在註冊表HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce裡面增加一個字串串值,命名為defrag,鍵值為C:\windows\defrag /all

wm4pw 2003-08-13 01:17 AM

受教了
謝謝分享

chin8489 2003-08-13 03:04 PM

謝謝!


所有時間均為台北時間。現在的時間是 08:38 PM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2024, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1