AutoRun01 példa
Az alapok igen egyszerűek, hozzunk létre egy Autorun.inf nevű állományt, amit majd a CD gyökér könyvtárában helyezzünk el. Ez az állomány egy sima szöveges TXT állomány, így akár a NOTEPAD, vagy bármely más szövegszerkesztő alkalmazással létrehozhatjuk.
Tartalmának formátuma kötött, ha például az alábbi a tartalom, akkor azzal azt érjük el, hogy behelyezéskor a Project1.exe program fog automatikusan elindulni.
[autorun]
open=Project1.exe
Ebben az esetben a Project1.exe-nek is a gyökér könyvtárban kell lennie. Ha ettől eltérő helyen van a futtatandó program, akkor az alkönyvtárt is meg kell adnunk:
[autorun]
open=Program/Exe/Project1.exe
Alapesetben az így megadott EXE-hez tartozó ikon fog látszani a Windows intézőben a CD meghajtó helyén. Ha ettől eltérő ikont szeretnénk megadni, akkor erre az alábbi módon nyílik lehetőségünk:
[autorun]
open=Program/Exe/Project1.exe
icon= Program/Exe/Project1.exe,2
Ez persze csak akkor működik, ha az adott EXE-ben legalább két ikon kapott helyett.
Megadhatunk persze egy ICO állományt is az ICON kulcsszó után:
[autorun]
open=Program/Exe/Project1.exe
icon= Icon/prg.ico
AutoRun02 példa
Ebben a példában azt vizsgáljuk, hogy miként hozhatunk létre új menüpontokat ahhoz a menühöz, mely akkor jelenik meg, mikor a Windows Intézőjével jobb gombbal kattintunk a CD meghajtón.
Ezekkel a menüpontokkal lehetőségünk nyílik arra, hogy a CD-ről (vagy akár máshonnan is) tetszőleges alkalmazásokat indítsunk el.
Ekkor teendőnk a következő: az AutoRun.inf állományba helyezzünk egy shell nevű kulcsszót, majd tegyünk hozzá egy tetszőleges általunk kitalált sztringet. Ezt kövesse egy egyenlőség jel majd egy olyan sztring, mely nem más lesz, mint a menüpont megnevezése.
Azt, hogy ez a menüpont milyen programot indítson el, azt úgy mondhatjuk meg, hogy egy új sorba ismét megadjuk a shell kulcsszót, majd ugyanazt a sztringet, melyet az előbb adtunk. Ezt követi szintén egy kötött sztring command néven, majd egyenlőség jel után jöhet az indítandó alkalmazás az esetleges paramétereivel együtt.
Ha több menüpontot is szeretnénk létrehozni, akkor a fentieket ismételjük. Egy fontos tudnivalónk van csupán, hogy a shell után következő szó menüpontonként más és más legyen.
Egy apró trükk: ha az AutoRun.inf állományt egy merevlemez gyökérkönyvtárában helyezzük el, akkor a számítógép újraindítása után az adott merevlemeznél is megjelennek a menüpontok, de akár még a hozzátartozó ikont is lecserélhetjük ezzel a módszerrel.
AutoRun03 példa
Egy kis trükk segítségével megkérhetjük a Windows-t, hogy szóljon a programunknak, mikor a felhasználó egy olyan CD lemezt helyez a gépbe, melyen automatikusan induló program van.
Azon kívül, hogy keletkezik egy esemény, melyben értesítést kap a programunk fenti eseményről, még arra is lehetőségünk van, hogy engedélyezzük, vagy letiltsuk ennek a programnak az indulását.
A cél érdekében az elvégzendő trükk a következő: mivel a Windows nem küld minden programnak ilyen üzenetet, ezért a RegisterWindowMessage függvénnyel regisztráltatnunk kell a programunk részére a QueryCancelAutoPlay üzenetet.
A RegisterWindowMessage visszatérési értékként adja meg azt a számot, mellyel a későbbiek folyamán azonosíthatjuk a QueryCancelAutoPlay üzenetet.
Ezek után már csak figyelnünk kell, hogy programunkhoz mikor érkezik ilyen üzenet. Ehhez felülírjuk a WndProc ablakkezelő eljárást. Ezen belül pedig minden hívásnál ellenőrizzük, hogy nem a várt üzenetet kaptuk-e, ha igen, akkor a kapott Message változó Result mezőjének a megfelelő értéket adva szabályozhatjuk, hogy a Windows elindíthatja-e a CD-n lévő automatikusan induló programot vagy sem.
Ha nem a várt üzenet jön, akkor ne feledkezzünk meg róla, hogy az inherited hívásával meghívjuk az eredeti WndProc eljárást az üzenetek feldolgozása érdekében.