不過(guò)無(wú)論是在Cmd窗口下執行16位DOS命令,還是直接打開(kāi)Command窗口,實(shí)際上都是由一個(gè)名為NTVDM.exe的進(jìn)程提供NT下的DOS虛擬機支持(NT Virtual DOS Machine,簡(jiǎn)稱(chēng)NTVDM)。因此可以說(shuō)WinXP已完全擺脫了對16位DOS的依賴(lài),此系統上所謂的DOS程序運行環(huán)境不過(guò)是一個(gè)完全虛擬的PC 機!理解這一點(diǎn)很重要,因為這預示著(zhù)這個(gè)虛擬的“PC機”與你真實(shí)的硬件毫不相關(guān),所有的硬件環(huán)境都是虛擬出來(lái)的,因此能夠實(shí)現更好的兼容性。
這款游戲由ELF出品,以情節設計的巧妙贏(yíng)得了不少玩家的欣賞,我們看能不能在WinXP系統下正常運行。首先必須根據游戲說(shuō)明其安裝在C盤(pán)根目錄下,進(jìn)入安裝目錄c:\dra4,雙擊執行其中的Play.bat,出現的情況仍然是黑屏的一晃而過(guò)。于是按照實(shí)例1中的方法用記事本打開(kāi)Play.bat,發(fā)現其中只有一行:dra4 start.mes H x C,這是一個(gè)帶參數運行的命令,主程序是dra4,不過(guò)卻在安裝目錄下發(fā)現了兩個(gè)可執行dra4文件:dra4.com和dra4.exe,這里你需要知道.com文件執行的優(yōu)先度高于.exe。于是對dra4.com的屬性進(jìn)行修改,將EMS設為8192kB??墒呛臀覀兊囊庠赶喾?,雙擊 Play.bat后還是黑色窗口一閃而過(guò)……
于是回到剛才討論的內存知識中來(lái),除了EMS,還有一個(gè)內存殺手就是常規內存。還記得上面圖9中的“最大可執行程序大?。↙argest executable program size)”嗎?有沒(méi)有可能581 120字節的內存仍不夠dra4.com使用呢?不妨試著(zhù)從常規內存中清理出一些空間來(lái)。
還是“自己動(dòng)手,豐衣足食”吧。從報錯信息著(zhù)手,在報錯窗口右下角有一個(gè)叫“請單擊此處”的鏈接,照辦后會(huì )彈出較詳細的錯誤報告,從這里可以看出,都是一個(gè)叫“MCIAVI32.dll”的動(dòng)態(tài)鏈接庫惹的禍(圖43),這又是何許“庫”也?MCI是Media Control Interface(媒體控制接口)的縮寫(xiě),凡是和這個(gè)詞沾邊的文件大多是和視頻及音頻控制有關(guān)的。事實(shí)上也是如此,它是一個(gè)32位的AVI媒體驅動(dòng),因此判斷出錯原因是老版本W(wǎng)indows程序調用了新系統的接口,而通過(guò)該接口指向的驅動(dòng)卻不同,從而造成了錯誤。