توضیح: موقعیکه این آموزش را در انجمن دیگری دنبال میکردم ، در این قسمت یکی از کاربران سوالی پرسید که
که در اینجا سوال و پاسخ را با مختصر تغییرات بصورت یک مطلب جدید عرض میکنم.
سوال : من دوست دارم یک فایل اجرائی داشته باشم که وقتی اجرایش کنم سایت pc4you.ir را باز کند.
جواب : با فرض اینکه ویندوز شما در درایو C بوده و مرورگر فایرفاکس هم در سیستم شما نصب شده ،بصورت زیر
عمل کنید.
برنامه Notepad را باز کرده و سطور زیر را در آن تایپ کرده و سپس آن را با نام مثلا" pc4you.au3 ذخیره کنید:
حال روی فایل pc4you.au3 کلیک راست کرده و روی گزینه Compile Script کلیک کنید. اگر مشکلی در نوشتنکد:$my_url = "pc4you.ir" ShellExecute ("C:\Program Files\Mozilla Firefox\firefox.exe", $my_url)
کد نداشته باشید ، چند لحظه بعد فایلی با نام pc4you.exe درست خواهد شد که اگر اجرایش کنید ، مرور گر
فایرفاکس اجرا و صفحه سایت pc4you را باز خواهد کرد.
با کمی دقت در کد های بالا میتوانید آن را مطابق دلخواه خود تغییر بدهید تا سایت های دیگر را باز کند و یا اینکه
بجای فایرفاکس مرورگر دیگری صفحه را باز نماید.
==============================
حال ببینیم چگونه میتوانیم کاری کنیم که برنامه های مورد نظرمان اتوماتیک اجرا شوند.
برای اینکار از دستور Run به صورت زیر استفاده میشود.
فرضا" میخواهیم با اجرای یک فایل ، برنامه ماشین حساب ویندوز اجرا شود . برای اینکار باید اول نام دقیق فایل
اجرایی برنامه ماشین حساب را بدانیم.که برای مثال فایل calc.exe (داخل پوشه system32 ) همان ماشین
حساب ویندوز ایکس پی است.
حال که نام دقیق فایل اجرایی را میدانیم اسکریپت زیر را مینویسم و آن را با نام calculator.au3 ذخیره میکنیم
(توضیح اینکه دستوراتی را که برای انجام کار هایمان می نویسیم اسکریپت نامیده می شوند):
اکنون اگر روی فایل calculator.au3 کلیک راست کرده و گزینه Compile Script را انتخاب کنیم فایلی بنامکد:Run("calc.exe")
calculator.exe درست خواهد شد که اگر اجرایش کنیم برنامه ماشین حساب ویندوز اجرا خواهد شد.
می بینید کار خیلی ساده است.
حال بیائید یک مقدار بیشتر جلو برویم. فرضا" بیائیم اسکریپتی بنویسیم که هم برنامه notepad را باز کند و هم
اتو ماتیک وار عبارتی را داخل آن بنویسد.
توضیحات این قسمت را بدقت توجه کنید چون روش اتوماتیک کردن اجرای کار ها را با autoit یاد میگیرید که میتوانید
با خیلی از برنامه های مورد علاقه خود انجام دهید.
برای اینکه برنامه notepad اجرا شود اسکریپت زیر را مینویسیم:
با این دستور برنامه notepad اجرا خواهد شد.حال ما میخواهیم پس از اجرا مطالبی هم بطور اتوماتیک در آن نوشتهکد:Run("notepad.exe")
شود.برای اینکار ما از دستوری بنام Send استفاده میکنیم.ولی در اینجا لازم است با چند مطلب قبلا" آشنا باشیم
که ممکن است مقداری گیج کننده باشد.
ببینید وقتی بطور معمولی notepad (یا هر برنامه دیگر ) را اجرا میکنیم از زمان دابل کلیک ما تا زمانیکه notepad
اجرا شده و قابل استفاده شود ، یک زمان کوتاهی طول میکشد و بعد از آن ما میتوانیم داخل برنامه تایپ کنیم.
حال که میخواهیم یک نوشته را توسط autoit بطور اتوماتیک در notepad بنویسیم ،باید نکته بالا را در نظر بگیریم.
یعنی باید بطریقی به autoit بگوییم که اول این مدت زمانی که طول میکشد را منتظر بماند و بعد نوشته مورد نظر
ما را بنویسد.
autoit دستوری برای منتظر شدن دارد ولی این دستور نیاز دارد که بداند باید منتظر چه چیزی باشد.
برنامه مورد نظر ما در این مثال notepad است .اگر وقتیکه notepad اجرا شد به عنوان آن نگاه کنید خواهید دید
که عنوان آن مطابق شکل زیر عبارت است از: Untitled - Notepad
این مشخصه ای هست که برنامه autoit لازم دارد بداند تا بتواند دستور انتظار را اجرا نماید.
لذا به اسکریپتمان سطر زیر را اضافه مینماییم تا منتظر آماده شدن notepad شود:
با نوشتن عین عبارت موجود که در شکل بالا دیدیم ، در داخل پرانتز دستور فوق ، در حقیقت به برنامه autoitکد:WinWaitActive("Untitled – Notepad")
میگوئیم که باید منتظر باز شدن پنجره ای باشد که عنوان پنجره Untitled – Notepad است. پس با این دستور ،
برنامه در انتظار خواهد نشست تا پنجره ای باز شود که عنوانش Untitled – Notepad باشد و پس از باز شدن
این پنجره دستور سطر بعدی را اجرا خواهد کرد.
تذکر مهم: این دستور به کوچکی یا بزرگی حروف عنوان حساس است یعنی که ما باید عبارتی را که در عنوان
می بینیم دقیقا" مثل خودش بنویسیم و گرنه عمل نخواهد کرد. منظور این است که در عنوان باید حروف بزرگ
و کوچک را کاملا" رعایت کنیم
البته برای اینکه کاربر اشتباه تایپی مرتکب نشود خود برنامه autoit برنامه ای دارد که میتواند این عنوان را اتوماتیک
برایمان مشخص کند.که من دراینجا برای اینکه حجم مطلب زیاد نشود در موردش صحبت نکرده و سعی میکنم بعدا"
عرض کنم.
خوب تا اینجا به autoit گفتیم برنامه notepad را اجرا و تا آماده شدن آن صبر کند . حالا باید به برنامه بگوییم که پس
از دیدن صفحه ای با عنوان گفته شده مدت زمان مثلا" 1000 میلی ثانیه صبر کرده وبعد، عبارتی را ( مثلا" عبارت
Hi Dear Friend . How are you ) را تایپ کند.
برای اینکار به دستورات بالا دستور های زیر را هم اضافه میکنیم:
پس در کل برای کاریکه میخواستیم باید دستورات زیر را بنویسیم:کد:Sleep(1000) Send("Hi Dear Friend . How are you?")
حالا اگر اسکریپت خود را اجرا کنید اتوماتیک وار هم برنامه notepad اجرا شده و هم نوشته مورد نظر شما تایپکد:Run("notepad.exe") WinWaitActive("Untitled – Notepad") Sleep(1000) Send("Hi Dear Friend . How are you?")
خواهد شد.
من در اینجا برای اینکه مطلب زیاد گیج کننده نشود ،این قسمت آموزش را تمام میکنم.فقط عرض میکنم که
میتوانیم به همین اسکریپت دستورات دیگری هم اضافه کنیم تا بعد از نوشتن سطر یا سطور مورد نظر ما
آن را با نام دلخواه ما ذخیره کرده و برنامه notepad را ببندد. و و و.......
یک توضیح دیگر را هم در اینجا ضروری میدانم که عرض کنم و آن اینکه بنده این قسمت از آموزش را از خودم نگفته
بلکه این قسمت را از فایل راهنمای خود برنامه autoit ترجمه و با مختصر تغییراتی شرح دادم.
تا ادامه بحث
علاقه مندی ها (بوک مارک ها)