Sunday, December 30, 2012

Program ကိုပိတ္လိုက္တာနဲ႕ DLL File မ်ားကို ျဖဳတ္ခ်ျခင္း

DLL ဆိုတာ Dynamic Link Libraries ျဖစ္ပါတယ္။ လည္းေကာင္း File တစ္ခုခ်င္းစီတြင္ Windows ကေန လိုအပ္သလို သက္ဆိုင္ရာ DLL File ကို ေခၚသံုးတဲ့အခါမွာ အသံုးေတာ္ခံဖို႔ သက္ဆုိင္ရာ Data ေတြ Function ေတြပါရွိၾကပါတယ္။  ေနာက္ၿပီးသိထားရမွာက မည္သည့္ Windows Software မွာမဆို ဒီသက္ဆုိင္ရာ Software ရဲ႕ DLL File ေတြပါရွိၾကပါတယ္။ ဒီ Software ေတြထဲက DLL  File ေတြကို လိုအပ္သလို ၊ လိုအပ္လာတဲ့အခ်ိန္မွာ XP ဟာ သက္ဆိုင္ရာ DLL File ကို Memory Cache သဖြယ္ ဆြဲ တင္ထားျခင္း အားျဖင့္ အလုပ္အလုပ္မႈကို ပိုျမန္ဆန္ေစပါတယ္။
    ျပသနာက အခုမွစတာဗ်။ WindowsXP ဟာသက္ဆုိင္ရာ Program ပိတ္လိုက္သည့္တိုင္ Memory ထဲမွာ ခုနက ပိတ္လိုက္တဲ့ Program ရဲ႕ DLL File ေတြျဖဳတ္မခ်ေသးတာပဲ။ ဒီေတာ့ Memory ေနရာ ပုပ္တာ ေပါ့ဗ်ာ။ ဒီေတာ့ကား Program ပိတ္လိုက္တာနဲ႕ သူနဲ႔ပက္သက္ေနတဲ့ DLL File ေတြဟာ Memory ထဲကေန Unload ျဖစ္သြားရမယ္။ မျဖစ္ရင္ အတင္းကန္ခ်သလိုေပါ့ဗ်ာ။ By Force လုပ္ေစခ်င္ တယ္။  ကဲဒါကို By Force ေျပာခ်င္တယ္ဆုိရင္ ေအာက္ပါအတုိင္းလုပ္ရေအာင္_
၁။  Regedit ကုိ Run ၿပီး Registry Editor ထဲ၀င္ပါ။
၂။  HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\ Explorer ကိုသြားလုိက္ပါ။
၃။  အဲ့ဒီမွာ Always Unload DLL မွာ Value ကို 1 လုိ႔ေပးထားျခင္း အားျဖင့္ Program တစ္ခု Close လုပ္တိုင္း Halt ျဖစ္သြားတုိင္းမွာ သက္ဆိုင္ရာ DLL ကို ေဟ့ေကာင္မင္းသြားေတာ့ကြာ ဆိုၿပီး Memory ကေန အတင္းကန္ခ်လိမ့္မယ္။
                                    အဆင္ေျပက်ပါေစ။
                                                   ေက်းဇူးတင္ပါတယ္။

No comments:

Post a Comment