Rundll32.exe برنامهای است که به فایلهای Dynamic Link Library (DLL) اجازه میدهد توسط برنامههای کاربردی دیگر اجرا شوند. بدون فرآیند rundll32.exe، برنامه ها نمی توانند کد کتابخانه را بارگیری کرده و به درستی اجرا کنند. به عنوان یک کاربر معمولی رایانه، شما مستقیماً با Rundll32.exe تعامل ندارید.
Rundll32.exe و فایلهای DLL
تقریباً همه برنامهها باید از فایلهای مختلف کتابخانه پیوند پویا ویندوز استفاده کنند. این فایلهای کتابخانهای به برنامهها اجازه میدهند تا توابع خاص ویندوز را برای عملکردهای مختلف سیستم ویندوز فراخوانی کنند.
- نمایش پنجره ها و سایر اشیاء برای رابط کاربری گرافیکی.
- پخش صداها با استفاده از درایور صوتی و سخت افزار رایانه.
- انتقال ورودی ها و خروجی ها از سخت افزارهایی مانند صفحه کلید و ماوس
- ذخیره اطلاعات در حافظه سیستم.
- دسترسی به لوازم جانبی متصل به رایانه شما.
چندین فایل DLL در سراسر سیستم عامل ویندوز وجود دارد، اما هیچ یک از آن کتابخانه ها بدون مراجعه به Rundll32.exe قابل دسترسی نیستند. این فرآیند به عنوان دروازه ای برای همه برنامه ها برای دسترسی به آن کتابخانه ها عمل می کند.
Rundll32.exe چگونه کار می کند
برنامهها هر بار که برنامه نیاز به دسترسی به عملکرد کتابخانه ویندوز داشته باشد Rundll32.exe را صدا میکنند.
در زیر نحوه کار این فرآیند آمده است.
-
برنامه نویسان Rundll32.exe را هنگام نوشتن برنامه مشخص می کنند. برای مثال، برای دسترسی به کتابخانههای تشخیص گفتار هنگام نوشتن یک برنامه کاربردی در ویژوال بیسیک، برنامهنویس خطی مانند شکل زیر مینویسد.
Process. Start("rundll32.exe", "C:\Windows\system32\speech\speechux\SpeechUX.dll, RunWizard User Training")
- این دستور برنامه Rundll32.exe را فراخوانی می کند و به آن می گوید که به برنامه کاربردی دسترسی به اجزای RunWizard UserTraining موجود در کتابخانه SpeechUX.dll ذخیره شده در فهرست System32 را ارائه دهد.
- سپس برنامه نویس می تواند توابع خاصی را که در آن اجزا یافت می شود فراخوانی کند. به عنوان مثال، اینها ممکن است شامل آموزش تشخیص گفتار با استفاده از میکروفون باشد. بدون فایل اجرایی Rundll32.exe، برنامهها به آن توابع پیشرفته دسترسی نخواهند داشت.
هر بار که برنامه ای Rundll32.exe را راه اندازی می کند، نمونه جدیدی از آن فرآیند را در Task Manager خواهید دید. هر نمونه دارای چهار پارامتر اصلی است که به برنامه و سیستم عامل کمک می کند تا روند را پیگیری کند.
- hwnd: دسته (شناسه شناسایی) پنجره ای که DLL شما ایجاد می کند
- hinst: دسته نمونه فرآیند راهاندازی شده توسط تماس DLL شما
- lpszCmdLine: خط فرمان مورد استفاده برای راهاندازی کتابخانه DLL
- nCmdShow: توضیح می دهد که چگونه پنجره DLL باید در صورت وجود یک پنجره مرتبط نمایش داده شود
اگر چندین پردازش "Rundll32.exe" را در Task Explorer می بینید، طبیعی است. هر بار که برنامه دیگری آن را فراخوانی می کند، یک فرآیند Rundll32.exe جدید راه اندازی می شود.
خطاهای رایج Rundll32.exe
شایع ترین خطای مربوط به Rundll32.exe یک خطای زمان اجرا است. این معمولاً زمانی اتفاق میافتد که کد برنامه بد نوشته شده، برنامه را بدون پایان صحیح نمونههای Rundll32.exe که قبلاً راهاندازی کرده بود، میبندد.
این خطا هیچ مشکلی برای رایانه شما ایجاد نمی کند. با این حال، هنگامی که کامپیوتر را راه اندازی مجدد می کنید، تمام رشته های Rundll32.exe راه اندازی شده را از بین می برد و حافظه استفاده شده توسط آنها را پاک می کند.
با این حال، بدافزارها گاهی اوقات از چند طریق باعث خطاهای Rundll32.exe می شوند.
- Malware فایل های ویروسی را نصب می کند که همان نام Rundll32.exe است. وقتی فایل ویروس را می بینید، آن را نمی شناسید، اما نرم افزار آنتی ویروس آن را تشخیص می دهد و فایل را از سیستم شما پاک می کند.
- بدافزار ممکن است برنامه Rundll32.exe را خراب کند و فایل را طوری تغییر دهد که وقتی برنامه ها سعی می کنند آن را فراخوانی کنند دیگر به درستی کار نکند.
در هر یک از این موارد، چند کار وجود دارد که باید برای پاکسازی عفونتی که فایل Rundll32.exe سیستم شما را خراب کرده انجام دهید.
-
از دستور Scannow برای شناسایی فایل های اصلی ویندوز فاسد استفاده کنید. دکمه Start را انتخاب کرده و CMD را تایپ کنید. روی برنامه Command Prompt کلیک راست کرده و Run as administrator را انتخاب کنید.
-
دستور SFC /scannow را تایپ کنید. این یک اسکن سیستم را راه اندازی می کند که فایل های سیستمی خراب را جستجو و شناسایی می کند.
-
اگر خطای Rundll32.exe پس از این اسکن برطرف نشد، در مرحله بعد سعی کنید یک دستور DISM restore he alth را اجرا کنید. این ابزار سلامت سیستم عامل ویندوز شما را بررسی می کند و سعی می کند هر گونه فایل سیستم اصلی خراب را بازیابی کند. همچنان در پنجره خط فرمان اداری، DISM /Online /Cleanup-Image /RestoreHe alth را تایپ کنید
-
اگر هیچ یک از این دستورات خطای Rundll32.exe را متوقف نمی کند، به این معنی است که احتمالاً مشکل یک فایل سیستمی ویندوز خراب نیست. در عوض، ممکن است یک برنامه بدافزاری باشد که خود را به عنوان فایلی با نام یکسان یا نامی مشابه Rundll32.exe استتار کرده است. بهترین راه برای پاکسازی این فایل های آلوده این است که یک اسکن کامل سیستم را با نرم افزار آنتی ویروس خود اجرا کنید.
- اگر مشکل تا این مرحله حل نشد، تنها گزینه شما ممکن است بازیابی نصب سیستم عامل ویندوز باشد.