กระบวนการ Rundll32.exe คืออะไรและทำอะไร

Rundll32.exe เป็นแอปพลิเคชันที่อนุญาตให้เรียกใช้ไฟล์ไดนามิกลิงก์ไลบรารี (DLL) โดยแอปพลิเคชันอื่น หากไม่มีกระบวนการ rundll32.exe แอปพลิเคชันจะไม่สามารถโหลดรหัสไลบรารีและทำงานได้อย่างถูกต้อง ในฐานะผู้ใช้คอมพิวเตอร์ทั่วไปคุณจะไม่โต้ตอบกับ Rundll32.exe โดยตรง


Rundll32.exe และไฟล์ DLL

แอปพลิเคชันเกือบทั้งหมดจำเป็นต้องใช้ประโยชน์จากไฟล์ไลบรารีลิงก์ไดนามิกของ Windows ไฟล์ไลบรารีเหล่านี้อนุญาตให้แอปพลิเคชันเรียกใช้ฟังก์ชันเฉพาะของ Windows สำหรับฟังก์ชันต่างๆของระบบ Windows

  • การแสดงหน้าต่างและวัตถุอื่น ๆ สำหรับอินเทอร์เฟซผู้ใช้แบบกราฟิก
  • เล่นเสียงโดยใช้ไดรเวอร์เสียงและฮาร์ดแวร์ของคอมพิวเตอร์
  • การโอนอินพุตและเอาต์พุตจากฮาร์ดแวร์เช่นแป้นพิมพ์และเมาส์
  • การจัดเก็บข้อมูลในหน่วยความจำระบบ
  • การเข้าถึงอุปกรณ์เสริมที่เชื่อมต่อกับคอมพิวเตอร์ของคุณ

มีไฟล์ DLL หลายไฟล์อยู่ทั่วทั้งระบบปฏิบัติการ Windows แต่ไม่มีไลบรารีใดที่สามารถเข้าถึงได้โดยไม่ต้องผ่าน Rundll32.exe กระบวนการนี้ทำหน้าที่เป็นเกตเวย์สำหรับแอปพลิเคชันทั้งหมดในการเข้าถึงไลบรารีเหล่านั้น


Rundll32.exe ทำงานอย่างไร

แอปพลิเคชั่นเรียก Rundll32.exe ทุกครั้งที่แอปพลิเคชันต้องการเข้าถึงฟังก์ชันไลบรารีของ Windows

ต่อไปนี้เป็นวิธีการทำงานของกระบวนการ

  1. โปรแกรมเมอร์ระบุ Rundll32.exe เมื่อเขียนแอปพลิเคชัน ตัวอย่างเช่นในการเข้าถึงไลบรารีการรู้จำเสียงเมื่อเขียนแอปพลิเคชันใน Visual Basic โปรแกรมเมอร์จะเขียนบรรทัดดังที่แสดงด้านล่าง

    Process.Start ("rundll32.exe", "C: Windows system32 speech speechux SpeechUX.dll, RunWizard UserTraining")

  2. คำสั่งนี้เรียกแอปพลิเคชัน Rundll32.exe และแจ้งให้แอปพลิเคชันสามารถเข้าถึงคอมโพเนนต์ RunWizard UserTraining ที่พบภายในไลบรารี SpeechUX.dll ที่เก็บไว้ในไดเร็กทอรี System32

  3. จากนั้นโปรแกรมเมอร์สามารถเรียกใช้ฟังก์ชันเฉพาะที่พบในส่วนประกอบเหล่านั้น ตัวอย่างเช่นสิ่งเหล่านี้อาจรวมถึงการฝึกการรู้จำเสียงโดยใช้ไมโครโฟน หากไม่มีโปรแกรมปฏิบัติการ Rundll32.exe แอปพลิเคชันจะไม่สามารถเข้าถึงฟังก์ชันขั้นสูงเหล่านั้นได้

ทุกครั้งที่แอปพลิเคชันเปิด Rundll32.exe คุณจะเห็นอินสแตนซ์ใหม่ของกระบวนการนั้นปรากฏขึ้นในตัวจัดการงาน แต่ละอินสแตนซ์มีพารามิเตอร์หลักสี่ตัวที่ช่วยให้แอปพลิเคชันและระบบปฏิบัติการติดตามกระบวนการ

  • hwnd: หมายเลขอ้างอิง (รหัสประจำตัว) ของหน้าต่างที่ DLL ของคุณสร้างขึ้น
  • นั่นเอง: หมายเลขอ้างอิงของอินสแตนซ์กระบวนการที่เรียกใช้โดยการโทร DLL ของคุณ
  • lpszCmdLine: บรรทัดคำสั่งที่ใช้เพื่อเปิดไลบรารี DLL
  • nCmdShow: อธิบายว่าควรแสดงหน้าต่าง DLL อย่างไรหากมีหน้าต่างที่เกี่ยวข้อง

หากคุณเห็นกระบวนการ "Rundll32.exe" หลายรายการใน Task Explorer ถือเป็นเรื่องปกติ กระบวนการ Rundll32.exe ใหม่จะเปิดตัวทุกครั้งที่มีแอปพลิเคชันอื่นเรียกใช้


ข้อผิดพลาดทั่วไป Rundll32.exe

ข้อผิดพลาดทั่วไปที่เกี่ยวข้องกับ Rundll32.exe คือ Runtime Error ซึ่งมักเกิดขึ้นเมื่อโค้ดแอปพลิเคชันที่เขียนไม่ดีปิดแอปพลิเคชันโดยไม่ได้ยุติอินสแตนซ์ Rundll32.exe ที่เปิดใช้งานก่อนหน้านี้อย่างถูกต้อง

ข้อผิดพลาดนี้จะไม่ทำให้เกิดปัญหากับคอมพิวเตอร์ของคุณ อย่างไรก็ตามเมื่อคุณรีบูตเครื่องคอมพิวเตอร์จะฆ่าเธรด Rundll32.exe ที่เปิดตัวทั้งหมดและล้างหน่วยความจำที่ใช้

อย่างไรก็ตามมัลแวร์บางครั้งทำให้เกิดข้อผิดพลาด Rundll32.exe ได้หลายวิธี

  • มัลแวร์ติดตั้งไฟล์ไวรัสที่มีชื่อเหมือนกับ Rundll32.exe คุณจะไม่รู้จักไฟล์ไวรัสเมื่อคุณเห็น แต่ซอฟต์แวร์ป้องกันไวรัสจะจดจำและล้างไฟล์ออกจากระบบของคุณ
  • มัลแวร์อาจทำให้แอปพลิเคชัน Rundll32.exe เสียหายการแก้ไขไฟล์เพื่อให้ทำงานไม่ถูกต้องอีกต่อไปเมื่อแอปพลิเคชันพยายามเรียกใช้

ในทั้งสองกรณีนี้มีสองสิ่งที่คุณควรทำเพื่อล้างการติดไวรัสที่ทำให้ไฟล์ Rundll32.exe ระบบของคุณเสียหาย

  1. ใช้คำสั่ง Scannow เพื่อระบุไฟล์หลักของ Windows ที่เสียหาย เลือกปุ่มเริ่มแล้วพิมพ์ CMD. คลิกขวาที่ไฟล์ พร้อมรับคำสั่ง และเลือก เรียกใช้ในฐานะผู้ดูแล.

  2. พิมพ์คำสั่ง SFC / scannow. การดำเนินการนี้จะเปิดการสแกนระบบที่จะค้นหาและระบุไฟล์ระบบที่เสียหาย

  3. หากข้อผิดพลาด Rundll32.exe ไม่ได้รับการแก้ไขหลังจากการสแกนนี้ให้ลองเรียกใช้คำสั่ง DISM restore health ในครั้งต่อไป ยูทิลิตี้นี้จะตรวจสอบความสมบูรณ์ของระบบปฏิบัติการ Windows ของคุณและจะพยายามกู้คืนไฟล์ระบบหลักที่เสียหาย ยังคงอยู่ในหน้าต่างพรอมต์คำสั่งของผู้ดูแลระบบให้พิมพ์ DISM / ออนไลน์ / Cleanup-Image / RestoreHealth.

  4. หากคำสั่งเหล่านี้ไม่หยุดข้อผิดพลาด Rundll32.exe นั่นหมายความว่าปัญหาไม่น่าจะเกิดจากไฟล์ระบบ Windows ที่เสียหาย แต่อาจเป็นแอปพลิเคชันมัลแวร์ที่พรางตัวเป็นไฟล์ที่มีชื่อเหมือนกันหรือชื่อที่คล้ายกันเป็น Rundll32.exe วิธีที่ดีที่สุดในการล้างไฟล์ที่ติดไวรัสเหล่านี้คือเรียกใช้การสแกนระบบทั้งหมดด้วยซอฟต์แวร์ป้องกันไวรัสของคุณ

  5. หากปัญหายังไม่ได้รับการแก้ไขในตอนนี้ตัวเลือกเดียวของคุณอาจเป็นการกู้คืนการติดตั้ง Windows OS ของคุณ