اگر بخواید یه برنامه غیر اجرایی رو بجای Autorun قرار بدید چی کار می کنید ؟ مثلا یک سیدی دارید که می خواید هر وقت اون رو توی سی دی رام گذاشتید یک عکس رو با نرم افزار حال حاضر ویندوز( مثلا ACD See یا هر چیز دیگری که رو فایل عکس حاکم بود ) نشون بهتون بده ، نه اینکه برنامه اجرایی Autorun رو اجرا کنه . خوب چی کار می کنید ؟
حالا فرض کنید می خواید چند فایل رو بجای Autorun قرار بدید . یعنی یک مثلا هر وقت سی دی رو گذاشتید ، فایل متن Readme و یک عکس و موسیقی و یک برنامه درون سیدی اجرا بشه . برای این حالت چه راهی در نظر دارید ؟ و از همه مهمتر اینکه فرض کنید می خواید از یک یا چند فرمان به جای یک فایل Autorun بهره ببرید . یعنی به طور مثال با گذاشتن سی دی ، به طور خودکار توسط دستور Dir از درایو سیدی لیست گرفته بشه و همچنین با دستور Format a:/q درایو فلاپی فرمت بشه !!! حالا داره کم کم جالب میشه ... یعنی به جای فرمان بالا هر فرمان مخرب دیگه ای ممکنه به کار گرفته بشه ! برنامه ShellExec که توسط بنده نوشته شده ، به شما اجازه انجام کارهایی رو که براتون مثال زدم میده . در واقع این برنامه برای این نوشته شده که شما بتونید هر فایل غیر اجرایی رو توسط نرم افزار فعلی حاکم بر اون نوع فایل در ویندوز ، به جای Autorun اجرا کنید . اما قابلیت های بیشتری هم داره . چندتا مزیتش رو در زیر می تونید بخونید : 1- اجرای فایل های غیر اجرایی بجای Autorun ، مثل پخش یک آهنگ هنگام گذاشتن سیدی 2- اجرای چندین فایل اجرایی و غیر اجرایی با هم 3- اجرای یک دستور به جای یک برنامه Autorun ، مثلا به جای فایل Autorun دستور Shutdown -s رو قرار میدیم تا با گذاشتن سیدی کامپیوتر خاموش بشه ! حالا طریقه ی کار با برنامه : این برنامه از هر مسیری که اجرا میشه ، در همون مسیر به دنبال فایل Path.txt میگرده . شما باید ابتدا این فایل رو ایجاد کنید و فایلها یا دستوراتی رو که می خواید اجرا بشه در این فایل تایپ کنید . (هر فایل یا دستور در یک خط جداگانه نوشته میشه) توجه داریم که نام کامل برنامه ها رو باید وارد کنیم و همینطور برای اونهایی که در یک مسیر دیگه قرار دارن باید مسیر کامل رو وارد می کنیم. به عنوان مثال:
g:audiomymuzic.mp3
dir c: /w >c:report.txt
m
rogproject.exe
در مر حله بعد فایل ShellExec و فایل Path.txt رو به هر جا که می خواید کپی می کنید و اونا رو در فایل Autorun.ini به طریق زیر صدا می زنید : فرض کنید من اونها رو درون شاخه ی AutoShlex در درایو سیدی ریختم و فایل Autorun.ini هم در ریشه درایو سیدی قرار داره (همیشه این فایل در ریشه قرار می گیره) . پس در فایل Autorun.ini تایپ می کنم :
[autorun]
open=AutoShlexShellExec.exe
سه نکته مهم :
1- همیشه دستورات و نام فایلها رو به طور کامل در فایل Path.txt بنویسید . برای فایلهایی که در یک مسیر قرار ندارن ، مسیر کامل رو وارد کنید که به مشکلی برخورد نکنید . 2- می دونید که در داس ، نام ها حداکثر 8 حرفی بودند . در سیستم عاملهای غیر NT که داس شبیه سازی شده ی با همون محدودیت دارن طریقی تایپ کردن نام مسیرها یک مقدار فرق داره . مثلا مسیر d
rogram filesmy executerr.exe به شکل زیر تغییر پیدا می کنه : d
rogra~1myexec~1r.exe در صورت داشتن مسیرهایی با نام طولانی ، سعی کنید نام مسیرها حتما رو اینجوری بدید تا اگر سیدی در هر نسخه ی ویندوزی گذاشته شد ، Autorun کارش رو درست انجام بده . 3- سعی کنید قبل از رایت کردن سیدی یا گذاشتن Autorun در هر جای دیگری که براتون مهمه ، یک بار اون رو امتحان کنید تا از صحت اطلاعاتی که درون Path.txt وارد کردید مطمئن بشید .
چند مثال برای محتویات فایل Path.txt :
با فرض اینکه در همه مثالهای زیر ShellExec در ریشه درایو سیدی قرار داره و درایو سیدی رام S هست .
اجرای فایل green.mp3 از شاخه s:redblue :
redbluegreen.mp3
اجرای دستور برای اینکه درایو D فرمت سريع بشه :
Format d:/q
اجرای دستور برای اينكه از محتويات شاخه red در سيدی ليست گرفته بشه و در درایو C به نام q.txt ذخیره بشه :
dir red >c:q.txt
ری استارت کردن سیستم ( در ویندوز XP ):
shutdown -r
حال با فرض اینکه ShellExec درشاخه redblue و در درایو سیدی قرار داره و درایو سیدی رام S هست برای اجرا کردن m.jpg در شاخه red می نویسیم :
s:redm.jpg
این برنامه به دو صورت در اختیار شماست . اولین برنامه تحت ویندوز هست که حجمش هم بالاتره و خوب انعطاف پذیری بیشتری هم داره . و دومین برنامه هم تحت داس هستش . جفتشون یک کار رو انجام میدن . توجه کنید که منظورم از تحت داس این نیست که با گذاشتن سیدی در سیستم عامل داس برنامه ها اجرا میشه ! چون اصلا سیستم عامل داس قابلیت Autorun رو نداره (مگر توسط برنامه های مقیم در حافظه) . منظور بنده از داس ، همون داس شبیه سازی شده ی موجود در ویندوز هست.
www.mimol.com