การเขียน Script Autorun.inf

posted on 14 Sep 2009 19:15 by immortalpao in Knowledge
การเขียน Script Autorun.inf ตัวเต็ม
ไฟล์ autorun.inf เราเคยรู้จักไฟล์นี้ดีเวลาที่เราใส่ cd-rom ลงไปในไดรฟ์แล้วมันก็จะไปเรียกโปรแกรมขึ้นมาทำงานทันที แต่จริงๆ มันทำอะไรได้มากกว่านั้น ลองมาดูกันครับ
ข้อมูลนำมาจากที่นี่ครับ

http://msdn2.microsoft.com/En-US/library/aa969327.aspx

หัวข้อหลักของ autorun จะเรียกว่า key ครับ โดย key จะเขียนเป็น [ชื่อคีย์] แบบนี้ ซึ่งคีย์ใน autorunจะมีดังนี้
    * [AutoRun] Keys
    * [Content] Keys
    * [ExclusiveContentPaths] Keys
    * [IgnoreContentPaths] Keys
    * [DeviceInstall] Keys

มาดูส่วน AutoRun key ก่อนครับ คำสั่งที่ใช้ได้ก็จะมีดังนี้ครับ
    * action
    * icon
    * label
    * open
    * UseAutoPlay
    * shellexecute
    * shell
    * shell\verb

ทีนี้มาดูวิธีใช้แต่ละคำสั่งครับ
คำสั่ง action ครับ

แบบที่ 1
โค๊ด:
action=ActionText

แบบที่ 2
โค๊ด:
action=@[filepath\]filename,-resourceID

คำอธิบายครับ
ActionText คือข้อความที่จะให้แสดงในหน้าจอ AutoPlay (บน WIndows XP ขึ้นไป) ซึ่งคำสั่งนี้จะไปเชื่อมโยงกับคำสั่ง open โดยอัตโนมัติ (หมายความว่า เวลาใส่แผ่นแล้วรันโปรแกรมทันทีเลย จะไม่มีอีกต่อไป จะต้องถามก่อน)
@[filepath\]filename คือชื่อไฟล์และพาธของไฟล์ binary ที่จะให้แสดงข้อความแทน action text
resourceID คือ resourceID ของข้อความที่อยู่ในไฟล์นั้น

หมายเหตุ
คำ สั่ง action ใช้ได้กับ Windows XP sp2 หรือรุ่นถัดมาเท่านั้น มันใช้ได้กับ DRIVE_REMOVABLE และ DRIVE_FIXED เท่านั้น ถ้านำไปใช้กับไดรฟ์ cd หรือ dvd ที่เป็น audio หรือ movie คำสั่งนี้จะไม่สามารถใช้ได้ และคำสั่งนี้ใช้ไม่ได้กับ windows xp sp1 หรือรุ่นก่อนหน้านี้ มันจะไปทำตามคำสั่ง open เท่านั้น

คำสั่ง action นี้ จะแสดงในหน้าจอ Autoplay เวลาที่ใส่สื่อที่มีไฟล์นี้เข้าไปในเครื่อง (เช่น Thumb drive) โดยจะแสดงไอคอนที่ถูกกำหนดโดยคำสั่ง icon ไว้ด้วย และจะลิงค์คำสั่งไปที่คำสั่งที่ถูกกำหนดโดยคำสั่ง open หรือ shellexecute

เมื่อ ใส่คำสั่ง action เข้าไปในคีย์ autorun จะทำให้มันถูกเลือกเป็นตัวแรกอัตโนมัติ เวลาที่หน้าจอ autoplay แสดงขึ้นมา หากไม่ใช้คำสั่งนี้ เวลาใส่สื่อเข้ามาในเครื่อง หน้าจอ autoplay จะไม่แสดงคำสั่งของ open ที่กำหนดไว้เลย

คำสั่ง icon
โค๊ด:
icon=iconfilename[,index]

iconfilename คือชื่อไฟล์ที่เก็บไอคอนไว้ครับ อาจจะใส่พาธด้วยก็ได้ เช่น \folder\to\icon.ico หรือถ้าไฟล์ไอคอนนั้นมีไอคอนหลายภาพ (เช่น อยู่ในไฟล์ icon.exe)  ถ้าต้องการเลือกภาพไอคอนที่ไม่ใช่ไอคอนแรกก็ให้ใส่เลข index ลงไปด้วยครับ ซึ่งเลข index ของไอคอนแรกมีค่าเท่ากับ 0

ตัวอย่างครับ
โค๊ด:
icon=MyProg.exe,1

คำสั่ง label
โค๊ด:
label=LabelText

คำ สั่งนี้ใช้กำหนดชื่อไดรฟ์หรือแผ่น ซึ่งสามารถกำหนดได้มากถึง 32 ตัวอักษร อันแตกต่างจากชื่อไดรฟ์เดิมๆ ที่ได้แค่ 11 ตัวอักษรเท่านั้น และใช้ได้กับเครื่องที่เปิด autorun ไว้เท่านั้น หากปิด autorun ไว้ มันจะแสดงชื่อแผ่นหรือไดรฟ์จากแผ่นหรือไดรฟ์ที่กำหนดไว้ก่อนแล้วเท่านั้น

คำสั่ง open
โค๊ด:
open=[exepath\]exefile [param1 [param2] ...]

คำ สั่งนี้ใช้ในการระบุคำสั่งที่จะให้ทำงานอัตโนมัติเมื่อใส่ไดรฟ์หรือแผ่นเข้า มาในเครื่อง โดยถ้าเป็น windows รุ่นก่อน XP sp2 มันจะทำงานผ่านคำสั่งนี้อัตโนมัติ โดยไม่ถามก่อน หากเป็น sp2 มันจะขึ้นในหน้าจอ autoplay ถ้ากำหนดคำสั่ง action ไว้

คำสั่ง UseAutoPlay
โค๊ด:
UseAutoPlay=1

คำ สั่งนี้ได้รับการแนะนำให้ใช้ใน Windows XP  จึงไม่มีผลต่อ windows รุ่นก่อนหน้านี้ สำหรับระบุว่าให้ใช้ UseAutoPlay V2 ครับ  ถ้ามีการกำหนดคำสั่งนี้ไว้ มันถึงจะเรียกใช้คำสั่งที่กำหนดไว้โดย open หรือ ShellExecute ไว้ครับ ถ้าใช้ ShellExecute ก็ขอให้ใช้ด้วยความระมัดระวังนะครับ หากไม่ได้กำหนดไว้ มันจะไปค้นหาข้อมูลในไดรฟ์ก่อนเรียก autoplay ขึ้นมาครับ

คำสั่ง shellexecute
โค๊ด:
shellexecute=[filepath\]filename[param1, [param2]...]

คำ สั่งนี้ใช้ในการเรียกโปรแกรมขึ้นมาทำงานเช่นเดียวกับ open ครับ แต่แตกต่างที่สามารถกำหนดให้เรียกเปิดไฟล์เอกสารขึ้นมาได้ด้วย  เช่น ให้ไปเปิดไฟล์ html ขึ้นมา มันก็จะไปเรียก browser สำหรับเปิดไฟล์ html ขึ้นมา โดยขึ้นอยู่กับว่าเราไปเซ็ตให้โปรแกรมไหนเป็นโปรแกรมเปิดไฟล์นั้น มันก็จะเปิดโปรแกรมนั้น

คำสั่ง shell
โค๊ด:
shell=verb

คำ สั่งนี้สำหรับกำหนดคำที่ใช้เรียกคำสั่งมาใช้อัตโนมัติ ซึ่งโดยปกติจะเป็นคำว่า autorun หากใส่คำสั่งนี้เข้าไป มันจะเปลี่ยนคำว่า autorun เป็นคำที่เราใส่ลงไปแทนคำว่า verb ครับ ซึ่งคำสั่งนี้มันจะไปอิงตามคำสั่ง shell\verb อีกทีครับ ซึ่งต้องระบุให้เมือนกัน

คำสั่ง shell\verb
โค๊ด:
shell\verb\command=Filename.exe
shell\verb=MenuText

คำ สั่งนี้ เป็นคำสั่งส่วนขยายจากคำสั่งข้างบนครับ ซึ่งกำหนดให้ไปเรียกโปรแกรมตามที่เราต้องการครับ ส่วนบรรทัดล่างสำหรับให้แสดงข้อความในเมนูเวลาที่เราคลิกขวาที่ไดรฟ์ครับ

อันนี้มีตัวอย่างครับ
โค๊ด:
shell\readit\command=notepad abc\readme.txt
shell\readit=Read &Me

คีย์ Content ครับ
โค๊ด:
[Content]
MusicFiles=Y
PictureFiles=0
VideoFiles=false

จะ มี 3 คำสั่ง ให้ใช้ครับ สำหรับระบุว่ามีข้อมูลอะไรในไดรฟ์หรือแผ่นครับ ซึ่งค่าของแต่ละคำสั่ง สามารถระบุว่าใช้ได้คือ 1, y, yes, t, true ส่วนใช้ไม่ได้คือ 0, n, no, f, false สำหรับคีย์นี้ใช้ได้กับ Windows Vista ขึ้นไปครับ ส่วนรุ่นก่อนหน้าไม่มีผลครับ คำสั่งนี้จะไปทำให้ windows ไม่ต้องค้นหาข้อมูลในไดรฟ์ก่อนที่จะนำขึ้นมาแสดงในหน้าจอ autoplay ครับ

คีย์ ExclusiveContentPaths
โค๊ด:
[ExclusiveContentPaths]
\music
\music\more music
music2

ใช้ สำหรับระบุว่ามีข้อมูลอยู่ในโฟลเดอร์ไหนบ้างครับ (จะได้ไม่เสียเวลาค้นหา) ซึ่งจะอิงกับคีย์ข้างบนครับ ว่าให้ใช้ content ชนิดไหนได้บ้าง ใช้ได้กับ vista ขึ้นไปครับ

คีย์ IgnoreContentPaths
โค๊ด:
[IgnoreContentPaths]
\music
\music\more music
music2

ใช้สำหรับระบุว่ามีโฟลเดอร์ไหนบ้างที่ไม่ให้ autoplay สนใจใฝ่ค้นหาครับ

คีย์ DeviceInstall
โค๊ด:
[DeviceInstall]
DriverPath=directorypath

ใช้ สำหรับระบุว่าไดรเวอร์อยู่ที่ไหนครับ ซึ่งจะเป็นการบังคับให้ตัว hardware wizard ไม่เสียเวลาในการค้นหาไดรเวอร์ทั้งไดรฟ์ครับ คำสั่งนี้ใช้ได้ใน Windows XP เท่านั้น

อันนี้เป็นตัวอย่างครับ
โค๊ด:
[DeviceInstall]
DriverPath=drivers\video
DriverPath=drivers\audio

ไม่คิดว่ามันจะเยอะขนาดนี้นะเนี่ย เพราะเห็นส่วนใหญ่ใช้แค่ open กะ icon เท่านั้นเอง....


หวังว่าคงเป็นประโยชน์ ไม่มากก็น้อยน่ะครับ Laughing

"การให้...คือสิ่งที่เรามี"


ปล.ถ้าซ้ำขอโทษด้วยนะคับ 



credit by thaiadmin

Comment

Comment:

Tweet

That's the <a href="http://tbqqwk.com">pecefrt</a> insight in a thread like this.

#6 By P2aPdbG9dY (192.168.3.81, 195.242.129.1) on 2013-08-28 08:31

Real brain power on <a href="http://zdglfqm.com">diaslpy.</a> Thanks for that answer!

#5 By f4WTocRDzt (200.92.50.203) on 2013-08-24 10:10

If I were a Teenage Mutant Ninja Turtle, now I'd say "Knuabwoga, dude!"

#4 By iKqQMzx3Wv3a (188.165.221.212) on 2013-08-20 16:29

Free info like this is an apple from the tree of kneldowge. Sinful?

#3 By K6b1Wl8C2fEb (188.143.232.12) on 2013-08-18 23:44

Buy Cheap Discount Nike http://www.nikerko.com
Cheap Nike Sneakers http://www.nikerko.com
Cheap Nike Shoes http://www.nikerko.com
Wholesale Cheap Nike Shoes http://www.nikerko.com

#2 By Cheap Nike Sneakers (204.12.222.237) on 2011-08-05 12:26

Hot! Hot! Hot!
น่าลองเขียนแต่ตอนนี้ไมว่างจริงๆค่ะ
เอาดราก้อนบอลไปก่อนละกันนะ

#1 By Candyz on 2009-09-14 19:31