|
RUNDLL FAQ |
Top Previous Next |
|
This FAQ describes how to run Control Panel (and other) tools in Windows from MMB script. Rundll32.exe is used by Windows to launch actions defined in DLLs. One of its capabilities is running Control Panel tools (applets). Using Rundll32.exe, you can launch the applets from a CPL file, and you can cause the applet to open on a particular page. Basic Script Syntax: Run("rundll32.exe","shell32.dll,Control_RunDLL filename.cpl") General syntax: Run("rundll32.exe","shell32.dll,Control_RunDLL filename.cpl,@n,t") where filename.cpl is the name of one of Control Panel's *.CPL files, n is the zero based number of the applet within the *.CPL file, and t is the number of the tab for multi paged applets. To select a particular applet within the file, append a comma, an @ sign, and the number of the applet. Launch the keyboard applet, which is the second applet within Main.cpl, you would use: Run(" rundll32.exe","shell32.dll,Control_RunDLL main.cpl,@1") Some multipage applets are designed so that they can be opened at a particular page. You must specify the applet number (@0 for a single-applet file). Then append a comma and the page number. This line launches the Display Properties dialog and opens to the Appearance page (the third page; number two ): Run("rundll32.exe","shell32.dll,Control_RunDLL desk.cpl,@0,2") Control panel tools and applets: Accessibility Options access.cpl Add New Hardware sysdm.cpl Add new hardware Add/Remove Programs appwiz.cpl Date/Time Properties timedate.cpl Display Properties desk.cpl FindFast findfast.cpl Fonts Folder fonts Internet Properties inetcpl.cpl Joystick Properties joy.cpl Keyboard Properties main.cpl keyboard Microsoft Exchange mlcfg32.cpl Microsoft Mail Post Office wgpocpl.cpl Modem Properties modem.cpl Mouse Properties main.cpl Multimedia Properties mmsys.cpl Network Properties netcpl.cpl (In Windows NT 4.0, Network properties is Ncpa.cpl, not Netcpl.cpl) Password Properties password.cpl PC Card main.cpl pc card Power Management (Windows 95) main.cpl power Power Management (Windows 98) powercfg.cpl Printers Folder printers Regional Settings intl.cpl Scanners and Cameras sticpl.cpl Sound Properties mmsys.cpl Sounds System Properties sysdm.cpl Examples:
Other tricks: Format Disk Run("rundll32.exe","shell32.dll,SHFormatDrive") Copy Disk Run("rundll32.exe","diskcopy.dll,DiskCopyRunDll") Exit Windows Run("RUNDLL32.EXE","USER.EXE,ExitWindows") Restart Windows Run("RUNDLL32.EXE","USER.EXE,ExitWindowsExec") Logoff Windows 98 and run Explorer after relogon: Run("RUNDLL32.EXE",SHELL32.DLL,SHExitWindowsEx 4") Start "Add New Printer" wizard: Run("RUNDLL32.EXE","SHELL32.DLL,SHHelpShortcuts_RunDLL AddPrinter") Show Windows 9*'s "System setting changed, do you want to reboot now?" dialog Run("RUNDLL32.EXE","SHELL.DLL,RestartDialog") Open a file with Windows' "Open as" dialog: Run("RUNDLL32.EXE","SHELL32.DLL,OpenAs_RunDLL filename") Swap your mouse to left handed: Run("RUNDLL32.EXE","USER.EXE,SwapMouseButton" Windows NT: Run("RUNDLL32.EXE","USER32.DLL,SwapMouseButton") Start DialUp Network: Run("RUNDLL32.EXE","RNAUI.DLL,RnaDial exact name of dialer entry") Install ScreenSaver Run("RUNDLL32.EXE","DESK.CPL,InstallScreenSaver filename.scr") Display the Fonts Folder in Explorer view Run("RUNDLL32.EXE","shell32.dll,SHHelpShortcuts_RunDLL FontsFolder") Displays the Create New Shortcut dialog. Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL apwiz.cpl,NewLinkHere path") Displays the Install/Uninstall tab selected Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL appwiz.cpl,,1") Send the HTML file to the printer Run("RUNDLL32.EXE","mshtml.dll,PrintHTML htmlfile.html") Open the URL with an associated HTML browser. Simple script: Run("www.mediachance.com") If you want to make the browser window TOP/TOPMOST use this code (Win2k/XP only): Run("<System>\rundll32.exe","TOP <System>\shell32.dll,ShellExec_RunDLL www.mediachance.com")
..or this (Win2k/XP) Run("<System>\rundll32.exe","<System>\url.dll,FileProtocolHandler www.mediachance.com") ..or this (Win9x) Run("<Windows>\rundll32.exe","<System>\url.dll,FileProtocolHandler www.mediachance.com") Create new email in an associated email client (with predefined address and subject) The same as for URL path, but with email address. Simple script: Run("mailto:your@address.com") If you want to make the email client window TOP/TOPMOST use this code (Win2k/XP only): Run("<System>\rundll32.exe","TOP <System>\shell32.dll,ShellExec_RunDLL mailto:your@address.com?Subject="This is a test mail"")
..or this (Win2k/XP) Run("<System>\rundll32.exe","<System>\url.dll,FileProtocolHandler mailto:your@address.com?Subject="This is a test mail"") ..or this (Win9x) Run("<Windows>\rundll32.exe","<System>\url.dll,FileProtocolHandler mailto:your@address.com?Subject="This is a test mail"") Displays Internet Properties, General Tab Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL inetcpl.cpl,,0") Microsoft Exchange Profiles general property page Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL mlcfg32.cpl") Microsoft Postoffice Workgroup Admin property page Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL wgpocpl.cpl") Multimedia/Audio property page Run("RUNDLL32.EXE","shell32.dll,Control_RunDLL mmsys.cpl,,0") |