เพื่อนที่ใช้ Windows 9x ทั่วไปจะต้องคุ้นเคยกับไฟล์ทั้งสอง Rundll32.exe และ Rundll.exe อย่างไรก็ตาม เนื่องจากเดิมทีฟังก์ชันของทั้งสองโปรแกรมนี้ถูกจำกัดให้ใช้ภายใน Microsoft จึงต้องมีเพื่อนจำนวนไม่น้อยที่รู้วิธีใช้งานจริงๆ พวกเขา. . เอาล่ะ ถ้ายังไม่รู้ก็บอกหน่อยนะ
ขั้นแรก โปรดทำการทดลองเล็กๆ (โปรดบันทึกผลลัพธ์ของโปรแกรมที่คุณกำลังใช้งานไว้ล่วงหน้า ไม่เช่นนั้น...): คลิก "Start-Programs-Ms-Dos Mode" เข้าสู่หน้าต่าง Dos จากนั้นพิมพ์ "rundll32. exeuser.exe,restartwindows" แล้วกดปุ่ม Enter ในเวลานี้ คุณจะเห็นว่าเครื่องได้รับการรีสตาร์ทแล้ว! มันไม่น่าสนใจเหรอ?
แน่นอนว่าฟังก์ชันของ Rundll เป็นมากกว่าการรีสตาร์ทเครื่อง ในความเป็นจริง Rundll เรียกใช้ Dll ตามชื่อ ฟังก์ชั่นคือการเรียกไลบรารีลิงก์ไดนามิกของ Windows ผ่านทางบรรทัดคำสั่ง ในขณะที่อันหลังใช้กับไลบรารีลิงก์ 16 บิต รูปแบบคำสั่งคือ:
RUNDLL.EXE, <จุดเข้าใช้งาน>, <พารามิเตอร์การเรียก>
ควรสังเกตสามประเด็นที่นี่: 1. ชื่อไฟล์ Dll ไม่สามารถมีช่องว่างได้ ตัวอย่างเช่น ไฟล์อยู่ในไดเร็กทอรี c:/PROgramFiles/ คุณต้องเปลี่ยนพาธนี้เป็น c:/Progra~1/; ชื่อไฟล์ Dll และรายการ Dll จะต้องมีเครื่องหมายจุลภาคระหว่างจุดไม่น้อย ไม่เช่นนั้นโปรแกรมจะเกิดข้อผิดพลาดและไม่ได้ให้ข้อมูล! 3. นี่คือจุดที่สำคัญที่สุด: Rundll ไม่สามารถใช้เรียก Dlls ที่มีพารามิเตอร์ค่าส่งคืน เช่น GetUserName(), GetTextFace() ฯลฯ ใน Win32API ใน Visual Basic มีคำสั่ง Shell เพื่อรันโปรแกรมภายนอก รูปแบบคือ:
เชลล์ "บรรทัดคำสั่ง"
หากคุณสามารถใช้คำสั่ง Shell ได้ดีกับ Rundll32.exe โปรแกรม VB ของคุณจะมีเอฟเฟกต์ที่ยากหรือเป็นไปไม่ได้เลยที่จะทำสำเร็จด้วยวิธีการอื่น: ยังคงทำการรีสตาร์ทเป็นตัวอย่าง วิธีการดั้งเดิมต้องการให้คุณสร้างโมดูลใน VB project ก่อน แล้วจึงเขียน ใส่คำประกาศของ WinAPI แล้วจึงเรียกใช้ในโปรแกรมในที่สุด. แต่ตอนนี้ขอเพียงประโยคเดียวเท่านั้น:
เชลล์ "rundll32.exeuser.exe,restartwindows" เสร็จแล้ว! ไม่สะดวกกว่าเหรอ?
ในความเป็นจริง Rundll32.exe มีข้อได้เปรียบที่ไม่เหมือนใครในการเรียกแผงควบคุม Windows และตัวเลือกระบบต่างๆ ด้านล่างนี้ ฉันจะแสดงรายการคำแนะนำ Rundll ที่ฉันรวบรวมบนอินเทอร์เน็ตดังต่อไปนี้ (มีประโยชน์มากและช่วยให้คุณประหยัดเวลาในการเรียกใช้ Windows API ได้มาก!!) เพื่อให้ทุกคนอ้างอิงในการเขียนโปรแกรม:
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLL
ฟังก์ชั่น: แผงควบคุมการแสดงผล
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,1
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวเลือกการเข้าถึง-คีย์บอร์ด"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,2
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวเลือกการเข้าถึง-เสียง"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,3
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวเลือกการเข้าถึง-จอแสดงผล"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,4
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวเลือกการเข้าถึง-เมาส์"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLaccess.cpl,,5
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวเลือกการเข้าถึง-ทั่วไป"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl@1
ฟังก์ชัน: เรียกใช้วิซาร์ด "แผงควบคุม-เพิ่มฮาร์ดแวร์ใหม่"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLAddPrinter
ฟังก์ชัน: เรียกใช้วิซาร์ด "แผงควบคุม-เพิ่มเครื่องพิมพ์ใหม่"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,1
ฟังก์ชัน: แสดงแผง "แผงควบคุม-เพิ่ม/ลบโปรแกรม-ติดตั้ง/ถอนการติดตั้ง"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,2
ฟังก์ชั่น: แสดงแผง "แผงควบคุม-เพิ่ม/ลบโปรแกรม-ติดตั้ง Windows"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLappwiz.cpl,,3
ฟังก์ชั่น: แสดงแผง "แผงควบคุม-เพิ่ม/ลบโปรแกรม-ดิสก์เริ่มต้น"
บรรทัดคำสั่ง: rundll32.exesyncui.dll, Briefcase_Create
ฟังก์ชั่น: สร้าง "My Briefcase" ใหม่บนเดสก์ท็อป
บรรทัดคำสั่ง: rundll32.exediskcopy.dll, DiskCopyRunDll
ฟังก์ชั่น: แสดงหน้าต่างการคัดลอกฟล็อปปี้ดิสก์
บรรทัดคำสั่ง: rundll32.exeapwiz.cpl,NewLinkHere%1
ฟังก์ชัน: แสดงกล่องโต้ตอบ "สร้างทางลัด" ตำแหน่งของทางลัดที่สร้างขึ้นถูกกำหนดโดยพารามิเตอร์ %1
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,0
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "วันที่และเวลา"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLtimedate.cpl,,1
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "โซนเวลา"
บรรทัดคำสั่ง: rundll32.exernaui.dll, RnaDial [ชื่อของการเชื่อมต่อผ่านสายโทรศัพท์]
ฟังก์ชั่น: แสดงหน้าต่าง dial-up ของการเชื่อมต่อผ่านสายโทรศัพท์ หากมีการเชื่อมต่อผ่านสายโทรศัพท์ หน้าต่างสถานะการเชื่อมต่อปัจจุบันจะปรากฏขึ้น
บรรทัดคำสั่ง: rundll32.exernaui.dll, RnaWizard
ฟังก์ชัน: แสดงหน้าต่างตัวช่วยสร้าง "การเชื่อมต่อผ่านสายโทรศัพท์ใหม่"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,0
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "คุณสมบัติการแสดงผล-พื้นหลัง"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,1
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "คุณสมบัติการแสดงผล - โปรแกรมรักษาหน้าจอ"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,2
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "คุณสมบัติการแสดงผล - ลักษณะที่ปรากฏ"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLdesk.cpl,,3
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "คุณสมบัติการแสดงผล - คุณสมบัติ"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLFontsFolder
ฟังก์ชั่น: แสดงโฟลเดอร์ "แบบอักษร" ของ Windows
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3
ฟังก์ชั่น: แสดงโฟลเดอร์ "แบบอักษร" ของ Windows ด้วย
บรรทัดคำสั่ง: rundll32.exeshell32.dll,SHFormatDrive
ฟังก์ชั่น: แสดงกล่องโต้ตอบฟอร์แมตฟล็อปปี้ดิสก์
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,0
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวควบคุมเกม-ทั่วไป"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLjoy.cpl,,1
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-ตัวควบคุมเกม-ขั้นสูง"
บรรทัดคำสั่ง: rundll32.exemshtml.dll, PrintHTML (เอกสาร HTML)
ฟังก์ชัน: พิมพ์เอกสาร HTML
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLmlcfg32.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือกทั่วไปของ Microsoft Exchange
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@0
ฟังก์ชั่น: แสดงตัวเลือก "แผงควบคุม-เมาส์"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@1
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติแป้นพิมพ์-ความเร็ว"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@1,,1
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติคีย์บอร์ด-ภาษา"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2
ฟังก์ชัน: แสดงโฟลเดอร์ "Printers" ของ Windows
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@3
ฟังก์ชั่น: แสดงโฟลเดอร์ "แบบอักษร" ของ Windows
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmain.cpl@4
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "คุณสมบัติแผงควบคุม-วิธีการป้อนข้อมูล-วิธีการป้อนข้อมูล"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLmodem.cpl,,เพิ่ม
ฟังก์ชัน: เรียกใช้วิซาร์ด "เพิ่มโมเด็มใหม่"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,0
ฟังก์ชัน: แสดงหน้าคุณสมบัติ "แผงควบคุม-คุณสมบัติมัลติมีเดีย-เสียง"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl,,1
ฟังก์ชัน: แสดงหน้าคุณสมบัติ "แผงควบคุม-คุณสมบัติมัลติมีเดีย-วิดีโอ"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLmmsys.cpl,,2
ฟังก์ชัน: แสดงหน้าคุณสมบัติ "แผงควบคุม-คุณสมบัติมัลติมีเดีย-MIDI"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLmmsys.cpl,,3
ฟังก์ชัน: แสดงหน้าคุณสมบัติ "แผงควบคุม-คุณสมบัติมัลติมีเดีย-เพลงซีดี"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLmmsys.cpl,,4
ฟังก์ชัน: แสดงหน้าคุณสมบัติ "แผงควบคุม-คุณสมบัติมัลติมีเดีย-อุปกรณ์"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLmmsys.cpl@1
ฟังก์ชั่น: แสดงหน้าต่างตัวเลือก "แผงควบคุม-เสียง"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLnetcpl.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-เครือข่าย"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLodbccp32.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือกการจัดการข้อมูล ODBC32
บรรทัดคำสั่ง: rundll32.exeshell32.dll, OpenAs_RunDLL {ไดรฟ์:/path/filename}
ฟังก์ชัน: แสดงกล่องโต้ตอบ "เปิดด้วย" สำหรับไฟล์ที่ระบุ (drive:/path/filename)
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLpassWord.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-รหัสผ่าน"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLpowercfg.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติการจัดการพลังงาน"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,SHHelpShortcuts_RunDLLPrintersFolder
ฟังก์ชัน: แสดงโฟลเดอร์ "Printers" ของ Windows (เหมือนกับ rundll32.exeshell32.dll,Control_RunDLLmain.cpl@2)
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLlintl.cpl,,0
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "คุณสมบัติการตั้งค่าแผงควบคุม-ภูมิภาค-การตั้งค่าภูมิภาค"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLlintl.cpl,,1
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติการตั้งค่าภูมิภาค-หมายเลข"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLlintl.cpl,,2
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติการตั้งค่าภูมิภาค-สกุลเงิน"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLlintl.cpl,,3
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติการตั้งค่าภูมิภาค-เวลา"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLlintl.cpl,,4
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "แผงควบคุม-คุณสมบัติการตั้งค่าภูมิภาค-วันที่"
บรรทัดคำสั่ง: rundll32.exedesk.cpl,InstallScreenSaver[ชื่อไฟล์โปรแกรมรักษาหน้าจอ]
ฟังก์ชั่น: ตั้งค่าไฟล์สกรีนเซฟเวอร์ที่ระบุเป็นสกรีนเซฟเวอร์ Windows และแสดงหน้าต่างคุณสมบัติสกรีนเซฟเวอร์
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,0
ฟังก์ชัน: แสดงหน้าต่างคุณสมบัติ "แผงควบคุม-คุณสมบัติระบบ-ทั่วไป"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,1
ฟังก์ชัน: แสดงหน้าต่างคุณสมบัติ "แผงควบคุม-คุณสมบัติระบบ-ตัวจัดการอุปกรณ์"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,2
ฟังก์ชัน: แสดงหน้าต่างคุณสมบัติ "แผงควบคุม-คุณสมบัติระบบ-ไฟล์การกำหนดค่าฮาร์ดแวร์"
บรรทัดคำสั่ง: rundll32.exeshell32.dll,Control_RunDLLsysdm.cpl,,3
ฟังก์ชัน: แสดงหน้าต่างคุณสมบัติ "แผงควบคุม-คุณสมบัติของระบบ-ประสิทธิภาพ"
บรรทัดคำสั่ง: rundll32.exeuser.exe, รีสตาร์ทหน้าต่าง
ฟังก์ชั่น: ปิดโปรแกรมทั้งหมดอย่างแรงและรีสตาร์ทเครื่อง
บรรทัดคำสั่ง: rundll32.exeuser.exe, exitwindows
ฟังก์ชั่น: ปิดโปรแกรมทั้งหมดโดยบังคับและปิดเครื่องคอมพิวเตอร์
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLtelephon.cpl
ฟังก์ชัน: แสดงหน้าต่างตัวเลือก "Dial-up Properties"
บรรทัดคำสั่ง: rundll32.exeshell32.dll, Control_RunDLLthemes.cpl
ฟังก์ชั่น: แสดงแผงตัวเลือก "ธีมเดสก์ท็อป"
แน่นอนว่าไม่เพียงแต่ VisualBasic เท่านั้น แต่ยังรวมถึงภาษาการเขียนโปรแกรมอื่นๆ เช่น Delphi.VisualC++ ยังสามารถใช้ฟังก์ชันเหล่านี้ของ Rundll ได้โดยการเรียกคำสั่งภายนอก วิธีการเฉพาะจะไม่อธิบายโดยละเอียดที่นี่ การใช้ Rundll ที่ยืดหยุ่นจะทำให้การเขียนโปรแกรมของคุณง่ายขึ้นอย่างแน่นอน และได้ผลลัพธ์สองเท่าโดยใช้ความพยายามเพียงครึ่งเดียว! -