我相信應該有很多人都有碰到類似的問題:

「“0X????????”指令引用的“0x00000000”記憶體,該記憶體不能為"read"或"written"」然應用程式被關閉。


但尋求網路網路上之解答,大致上都會得到下面的答案:

重新註冊所有的.DLL檔

開始-執行 輸入 for %%1 in (%windir%\system32\*.dll) do regsvr32.exe /s %%1


我的疑問是:

1. 註冊所有.DLL 檔的用意為何??

2. .DLL 檔 在系統上是做什麼用的呢!!


文章關鍵字
1.我想就跟還原檔案意思差不多吧!

2.
DLL的全名為Dynamic Link Library,一般翻為「動態連結資料庫」。可以視為作業系統與許多應用程式的「共用材料」。當某個DLL發生問題時,所有必須使用這個「共用材料」的程式功能就無法順利執行。Windows含有一大堆各式各樣的DLL檔,它們所執掌的功能,大多屬於各種程式所常見的功能,例如當我們在任何程式中開啟視窗時,都會看到相同的外觀(例如它們的右上角都有三個分別代表「縮小」、「放大」、「關閉」的按鈕),Windows可以看成由許DLL檔所組成的一套作業系統,這種方式可以讓作業系統容易開發與擴充,例如當作業系統相要對原有功能予以強化或加入一些新功能時,只要對舊有的DLL檔予以更新,或加上新的DLL檔即可,不必重撰寫整套程式碼,節省許多時間與複雜度。



可是出現你說的問題,用此方法不見得可以解決...
DLL檔(Dynamic Linking Lidrary 動態連接檔)
是微軟設計給Windows使用的共用程式檔
若某個DLL檔遺失或損毀 就可能造成某個程式運作失效

如果是單一某個DLL檔遺失 比較簡單
但你的問題是 重新註冊所有的.DLL檔
也就是重新灌入所有DLL檔 就比較麻煩

如果你是XP系統 就找另一台XP電腦
找出所有DLL檔 複製進隨身碟 然後複製進你有問題電腦

在電腦 按開始 搜尋 鍵入DLL檔
就會搜尋所有的DLL檔 然後複製置隨身碟即可

複製完 進入你有問題的電腦裡 去C槽
找Windows資料夾 進去再找System32資料夾
開啟後把隨身碟裡的DLL檔複製進去即可 試試看囉.....



shoemaker.. wrote:
找出所有DLL檔 複製進隨身碟 然後複製進你有問題電腦


有的不是系統用dll檔,復制過去多餘的垃圾dll..........



開始-執行 輸入 for %%1 in (%windir%\system32\*.dll) do regsvr32.exe /s %%1

↑以上若沒救,又找不到發生原因......重灌比較快

除了會寫編寫視窗軟體和軟體開發工程師可能會有辦法

一般人重灌比較快
├愛像是什麼┼只能用人生百態去看待┤
leo - kevin wrote:
「“0X????????”指令引用的“0x00000000”記憶體,該記憶體不能為"read"或"written"」然應用程式被關閉。


這種錯誤並不是 DLL 重新註冊的問題,
這是程式非法讀取或寫入不該讀取或寫入位址造成的錯誤,
如果您會使用 OllyDbg 可以去追碼,
看是哪個程式執行了哪個呼叫(Call Function)造成的錯誤.

☆ 私人訊息直接刪除不再回覆 ☆ 願望 : bovuhPPjMnEfkyhggnsJdABaLFPuhXT4
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!