Delphi - Control Panel programjainak indítása

forráskód letöltése
A Control Panel-ben számtalan program található. Ezek közül bármelyiket az Intéző segítségével könnyedén elindíthatjuk, de ha mondjuk arra lenne szükségünk, hogy mindezt programból tegyük meg, mert például szeretnénk lehetőséget adni a felhasználónak arra, hogy a rendszer dátumot, illetve időt beállíthassa a mi programunkon keresztül, akkor a mellékelt példaprogram nagy segítségünkre lehet.
A Control Panel-ben számtalan program található. Ezek közül bármelyiket az Intéző segítségével könnyedén elindíthatjuk, de ha mondjuk arra lenne szükségünk, hogy mindezt programból tegyük meg, mert például szeretnénk lehetőséget adni a felhasználónak arra, hogy a rendszer dátumot, illetve időt beállíthassa a mi programunkon keresztül, akkor a mellékelt példaprogram nagy segítségünkre lehet.

Mivel a Control Panel programjai nem mások, mint speciális Dll-ek, ezért nem tudjuk egyszerűen futtatni őket a WinExec függvénnyel, mivel itt csak EXE-ket tudunk elindítani. Erre van minden Windows-os rendszerben a RUNDLL32.EXE.

További fontos tudnivaló, hogy ezek a speciális Dll-eknek a kiterjesztése CPL.

Például az alábbi sor hívásával a Delphi BDE Administrátorát tudjuk elindítani:

WinExec('rundll32 shell32.dll,Control_RunDLL bdeadmin.cpl,,0', SW_SHOW);

Az alábbi sor a képernyővel kapcsolatos beállítási lehetőségeket tartalmazó ablakot varázsolja elő, azon belül is a képernyővédőt:

WinExec('rundll32 shell32.dll,Control_RunDLL desk.cpl,,1', SW_SHOW);

Ha megfigyeljük, az ilyen ablakok egy TPageControl komponensen helyezkednek el. Azt, hogy melyik lap legyen az aktuális megnyitáskor, azt egy paraméterként átadhatjuk híváskor. Megfigyelhetjük, hogy az alábbi sornál nem a képernyővédő ablaka nyílik meg, hanem az azt követő:

WinExec('rundll32 shell32.dll,Control_RunDLL desk.cpl,,2', SW_SHOW);

Az alábbi táblázat összefoglalja a Control Panel-ben található leggyakoribb programok nevét, melyeket a fenti sorokba illesztve meghívhatjuk azt adott alkalmazást.

appwiz.cpl - Programok hozzáadása/törlése
bdeadmin.cpl - BDE Administrator
desk.cpl - Képernyő
inetcpl.cpl - Internet
intl.cpl - Nemzetközi beállítások
joy.cpl - Játékvezérlő
main.cpl - Egér, billentyűzet
mmsys.cpl - Multimédia
modem.cpl - Modem
netcpl.cpl - Hálózat
password.cpl - Jelszó
sysdm.cpl - Rendszer beállítások
timedate.cpl - Idő, dátum beállítások