Z pogranicza

Autorun płyty CD

  • 2011-12-04 10:37
  • 11 komentarzy
  • 6921 odsłon
  • Oceń ten tekst jako pierwszy
Za autoodtwarzanie odpowiada plik autorun.inf. Musi znajdować się on w katalogu głównym naszego nośnika danych (płyty, pamięci flash, itd.).
Otwieramy więc dowolny edytor tekstowy i wpisujemy przykładowo:

[autorun]
open=przykład.exe
icon=przykład.exe

Wpisanie open=przykład.exe powoduje autostart programu przykład.exe. Linia icon=przykład.exe powoduje zmianę domyślnej ikony CD-ROMu na ikonę programu przykład.exe. Ale ikona CD nie musi być taka sama jak w programie, który jest automatycznie uruchamiany. Możemy wpisać tak:

icon=muzyczka.ico

I wtedy jasne, że ikonka będzie wczytywana z pliku muzyczka.ico. Można jeszcze wsadzić ikonki do folderu, wtedy piszemy, tak:
icon=FolderZIkonami/muzyczka.ico


Wróćmy jeszcze do polecenia open. Umożliwia ono niestety uruchamianie tylko plików wykonywalnych (*.exe). Jest to duże ograniczenie. Tak więc wpisanie:
open=obrazek.jpg
lub
open=stronka.html

Nie spowoduje uruchomienia tych plików. Na szczęście jest na to rada; wykorzystamy tu polecenie start:

[autorun]
open=start stronka.html

Polecenia "start" nie rozpozna niestety Windows XP. Dysponuje on za to poleceniem "shellexecute". Uruchomi ono każdy zarejestrowany typ plików.

[autorun]
shellexecute=empetrójka.mp3

To wszystko na temat autoodtwarzania. Teraz pokażę  jak stworzyć menu kontekstowe dla płyty. Będzie ono dostępne po kliknięciu prawym przyciskiem myszy na ikonę CD. Posłużymy się tym samym plikiem, tj. autorun.inf.
Menu tworzymy poleceniem o składni:

shell\ident\command=plik do uruchomienia
shell\ident\=tekst menu

Ident to identyfikator. Może być nim dowolne słowo. W miejsce słowa plik do uruchomienia wpisujemy nazwę programu, który ma być uruchomiony po kliknięciu w menu. Dodatkowo po spacji możemy dodać parametr, którym może być nazwa pliku do uruchomienia. A na koniec jeszcze musimy przecież ustalić nazwę płyty. Do tego używa się parametru label:
label=Moja muza



A oto efekt naszej pracy:
[autorun]
open=setup.exe
icon=muzyczka.ico
label=Moja muza
shell\muzyka\command=Muzyka/MojaMuza1.mp3 
shell\muzyka=Odtwórz plik MojaMuza1.mp3
shell\foto\command=Zdjecia/Obrazek.jpg
shell\foto=Pokaż "Obrazek.jpg"


To już wszystko. Opisałem tu ręczne tworzenie autorun'a. Można to zrobić także przy pomocy specjalnie przeznaczonych do tego narzędzi (np.AutoRun Wizard). Łatwo napisać też swój generator i zachęcam do kombinowania z tym ;-) . Może kiedyś wrzucę tutaj swój :).  
Nara!

Piotrek Chmolowski
[email protected]

11 komentarzy

Witamaster 2011-12-27 13:42

Plik autorun zaproponowany przez autora artykułu ma taką zaletę że zawsze powinien zadziałać. Wykonanie bardziej skomplikowanych poleceń autostartu jest zależne od platformy i jej konfiguracji. W sumie warto się z tym bawić tylko w przypadku gdy nagrywamy płytę dla siebie, inaczej możemy komuś bardziej namieszać niż ułatwić ;)

pelsta 2011-01-17 09:45

Jeżeli nie chcemy ułatwiać zawirusowania komputera to funkcję autorun najlepiej wyłączyć.

Setesh 2007-07-18 20:00

Artykuł troszkę nie dopracowany jeżeli już patrzeć na wszystkie możliwości pliku autorun.inf !!!

mały przykład :

//----------------------- BEGIN CUT ---------------------------------------------------------------------

[AutoRun ]
; Linijka zaczynająca się znakiem ';' uznawana jest jako komentarz !!!

; Przypisanie nazwy dla dysku (wyświetlane w mój komputer pod ikonką płyty)
label=Music Disc no. 5

;Opcja uruchamiania na starszych systemach głównie (np Win95)
open=playlista.mp3
; lub
;Opcja uruchamiania w nowszych systemach (polecenie open też działa ale jest ignorowane gdy jest opcja shellexecute)
shellexecute=playlista.mp3

;Info : Gdy system nie rozpoznaje poleceń typu shell (poleceń menu) to warto dodawać polecenie open i shellexecute - shellexecute nie zostanie rozpoznane np w Win95 ale jest tam polecenie open :)

;Ikonkę można w różny sposób przypisać dla napędu :
;ICON=setup.exe
; można przypisać ikonkę z pliku *.ico (czasami też z BMP z rozszerzeniem ico !!! :)
;icon=music.ico
; Gdy chcemy użyć innej ikonki z programu niż domyślnej a program ma więcej ikon - domyślnie jest to u mnie ta opcja, info : 0-główna ikonka programu a następne ikonki (1-XX) muszą być umieszczone w pliku na który wskazuje ścieżka bo inaczej wyświetli ikonkę nieznanego typu pliku !!!
icon=setup.exe,7

; Ustawienie domyślnej opcji dla menu - dzięki temu opcje open i shellexecute są ignorowane !!!
shell = Auto

; nasza domyślna opcja - uruchamianie playlisty
shell\Auto = &Uruchom playliste
; polecenie uruchamiające playliste (wystarczy nazwa pliku w tym przypadku)
shell\Auto\command = playlista.mp3      

; opcja menu wyświetlająca informacje z pliku info.txt
shell\Configure = &Pokaż informacje o płycie
; wiadomo - polecenie można też użyć : "shell\Configure\command = info.txt" ale tu wymuszamy otwarcie przez notepad :)
shell\Configure\command = notepad info.txt

; Utwórz następną płytę za pomocą programu
Shell\Option1 = &Nowa płyta !
; polecenie uruchamiające program z parametrem nowa płyta cd
Shell\Option1\Command = setup.exe /NewCD

//----------------------- END CUT ------------------------------------------------------------------------

System najpierw wyszukuje plików na nośniku (!) - więc jak nazwiemy jakąś aplikację "notepad.exe" a ścieżka uruchamiania pokazuje nam np "Shell\Option1\Command = notepad info.txt" to system szuka aplikacji "notepad.exe" najpierw na nośniku a jeżeli aplikacji "notepad.exe" na nośniku nie znajdzie to dopiero szuka u "siebie" :)

To wygenerowany plik autorun.inf z mojego programu do obsługi autorun (autostartu) CD\DVD\USB\FLASH :)

Wersja będzie dostępna pod adresem : www.swebs.prv.pl po wakacjach - Nazwa programu : AutoRun++ :)

PS : Są jeszcze odmiany wpisów w autorun przystosowane dla konkretnych procesorów Risc, PowerPC :)


seiper - dla ciebie jest rozwiązanie :

; wstawienie ścieżki ze spacjami między znaki "" rozwiązuje wiele problemów z którymi system sobie nie radzi !!
shell\film\command="C:\Program Files\SubEdit-Player\subedit.exe" E:\tyt_filmu.avi
shell\film=Otwórz film

PS 2 : Mam nadzieję że nie uraziłem autora tutorialu :) To tak aby ktoś nie szukał na przyszłość :) - Proponuję dodać do tutoriala różnice z komentarza bo nie chciałem autorowi sam zmieniać :) Autorowi dałbym 4+ :)

Koziołek 2007-05-02 16:05

Mała rzecz a cieszy. Czasami brakuje takiego czegoś i człowiek siedzi i pyta googla, a tu taki miły tutorial

seiper 2007-03-02 22:42

Nie wiem, ale żadnych problemów ze skryptem pod xp ??:
co do autoodtwarzania to wszystko ok, ale menu kontekstowe nie ma prawa odpalić przy takiej składni, bo potrzebuje odwołań, i powinno być tak:

[autorun]


------
shell\film\command=C:\Program Files\SubEdit-Player\subedit.exe E:\tyt_filmu.avi
shell\film=Otwórz film

Clik na "Otwórz film" uruchamia w tym przypadku SubEdita z c: i otwiera plik avi z E:, gdzie E: jest voluminem CD

pozdrawiam

Piro 2003-08-21 19:50

Podobno (nie sprawdzałem) chodzi także takie coś:
label=OpisPłyty
Jak mówię, nie sprawdzałem czy i jak i z którą windozą to chodzi, ale podobno ma to dawać opis wedle życzenia (a nie etykietkę płytki czy serialka).
:)

Delete 2003-07-15 16:06

Wazne ,ze dzieli sie infem z innymi.

RobinMaster 2003-07-01 21:44

troszkę łatwe ale fajne ;] dobry pomysł

luKLem 2003-07-02 15:45

Przyzjaj się zerżnąłeś to z Eksperta...

chmolu 2003-07-02 17:02

przyznaję się ;)

Pik 2003-07-06 13:40

Skąd wziął nie ważne, ważne że jest, bo napewno się przyda!!