หัวข้อ: AutoInstall & AutoSync File Process to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 20, 2009, 09:02:56 am AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3)
------------------------------------------ Current File Process to Progressbar เป็นวิธีผูก(sync)Process ของโปรแกรมไว้กับProgressbar กลายเป็น AutoSync ที่ผมใช้เวลาทดลองค้นคว้าอยู่เป็นเดือน ที่นี้ไม่ต้องกำหนดเวลาตรงSleep อีกแล้ว ใช้วิธีจับการตรวจสอบการเขียนไฟล์ แล้วนำProcess มากำหนดเงื่อนไขเวลาให้กับProgressbarตรงCounterและ Sleep(หน่วยนับและระยะเวลาของการนับ) ฉนั้นการสิ้นสุดการติดตั้งโปรแกรม เวลาจะพอดีกับสิ้นสุดการแสดงผลของProgressbar จริงๆแล้วเขียนสคริ๊ปโปรแกรมไม่ค่อยเป็นหรอก ผิด-ถูกยังไง ต้องขออภัยไว้ล่วงหน้า (เพราะมั่ว+เดาสุ่ม)ใช้ติดตั้งได้เฉพาะบางโปรแกรมเท่านั้นที่มี Switch Parameter(SilentMode)ของโปรแกรม ที่เข้ากันได้กับสคริ๊ป ส่วนโปรแกรมไหนที่ติดตั้งอัตโนมัติด้วยสคริ๊ปAutoItไม่ได้ ก็หันมาใช้สคริ๊ปภาษาอื่น เช่น .bat,.vbsและ.js เป็นต้น. สนใจ:ดาวน์โหลด Sample Projectไปทดลองศึกษากันดูนะครับ... Download:Project3AutoInstall ขนาดไฟล์ 14.2 MB http://upload.one2car.com/download.aspx?pku=2A0FB5DA8C7UMDL9ZU26L3MLI9UN9Y (http://upload.one2car.com/download.aspx?pku=2A0FB5DA8C7UMDL9ZU26L3MLI9UN9Y) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 20, 2009, 09:04:21 am อันนี้คือสคริ๊ป AutoIt AutoSync AutoInstall ที่ผมออกแบบเขียนขึ้นเอง
โค๊ด: _PROGRESS_ (100) (http://img269.imageshack.us/img269/9782/clip01.th.jpg) (http://img269.imageshack.us/i/clip01.jpg/) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 20, 2009, 09:05:38 am เป็นสคริ๊ปที่แก้ไขให้ใหม่ สดๆร้อนๆ ทำให้ sync process ได้ดีขึ้นกว่าเดิมเยอะเลย ลองนำไปเปรียบเทียบกับไฟล์ที่ให้ดาวน์โหลดดูกันเองก็แล้วกัน(มั่วเหมือนเดิม)
โค๊ด: _PROGRESS_ (100) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 20, 2009, 09:06:48 am อันนี้สคริ๊ปที่นำไปใช้งานได้จริง ไม่ได้มั่วหรือเดาสุ่มนะครับ เพราะมีเหตุผลพอที่จะอธิบายการทำงานของสคริ๊ปได้
โค๊ด: _PROGRESS_ (100) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 20, 2009, 09:08:37 am จะอธิบายที่ละสะเต็ป เพื่อให้เข้าใจง่ายขึ้น
------------------------------------------ โค๊ด: $Wait = ConsoleWrite("uiso86pes.exe") ที่Counter ลูป For Next การนับวนรอบ จะต้องมีการใส่ค่าเวลา (Timer) การนับไว้ด้วย ไม่งั้นเราจะมองไม่เห็นการนับ (เร็วมากจนมองไม่เห็น) ใส่ไว้ที่สคริ๊ป Sleep ถ้าเราใส่ 'ตัวแปร' แทนTimer การนับก็จะขึ้นอยู่กับกระแสของโปรแกรม ..แต่กระแสของโปรแกรม ในแต่ละครั้งในการรันนั้น ไม่ค่อยจะคงที่นัก ช้าบ้าง เร็วบ้าง ฉนั้นจึงต้องมีการดักจับการProcessดังนี้ ---------------------------------------------------------------------------------------------------------------------------------- โค๊ด: If ProcessClose("$Wait") Then GUICtrlSetData($Connecting, " Completed.") แปลออกมาจากโค๊ด ได้ใจความที่มีความหมายดังนี้ -------------------------------------- โค๊ด: 'If ProcessClose("$Wait") Then GUICtrlSetData($Connecting, " Completed' ถ้าเมื่อใด ไม่มีกระแสโดยสิ้นเชิง ก็ให้แสดงคำว่า 'Completed'ขึ้นมาที่หน้าต่าง Progressbar ------------------------------------------------------------------------------- โค๊ด: If ProcessWaitClose("uiso86pes.exe") Then ถ้าเมื่อใดโปรแกรมติดตั้ง หยุดทำงานโดยสิ้นเชิงแล้ว ให้จัดการปิดหน้าต่าง Progressbar ..แต่ถ้ายังทำงานอยู่ ก็ให้คง หน้าต่างไว้ก่อน ---------------------------------------------------------------------------------------------------- โค๊ด: MsgBox(0,"","ติดตั้งเรียบร้อย.",2) เป็นการ การันตี การติดตั้งโปรแกรม ที่เสร็จสิ้นโดยสมบูรณ์ อีกครั้งด้วย Popup Message -------------------------------------------------------------------------- หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 21, 2009, 06:47:56 am ความรู้เรื่อง Process Process หมายถึง โปรแกรมต่างๆที่กำลังรันหรือทำงานอยู่ การProcessแบ่งออกเป็น2ส่วน--------------------- 1.Application Process หมายถึง โปรแกรมที่เราสั่งเปิดขึ้นมาทำงานชั่วคราว เมื่อทำงานเสร็จแล้วก็จะจบการทำงานเองหรือเราสั่งปิด ดูได้จาก Task Manager ในส่วนของ Applications (http://upic.me/i/1e/clip_4.jpg) ---------------------------------------------------------------------------------------------------2.Windows Process หรือเรียกอีกอย่างว่า Service หมายถึง โปรแกรมที่ทำงานอยู่เบื้องหลังตลอดเวลา ดูได้ในส่วนของ processes Processดูได้ในตำแหน่ง CPU (http://upic.me/i/5b/clip_5.jpg) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 21, 2009, 06:49:35 am อันนี้เป็นสคริ๊ป AutoSync อีกแบบหนึ่ง ที่ใช้ในการติดตั้งโปรแกรมอัตโนมัติ ที่มีความเสถียร ใช้งานได้ดี มีความเที่ยงตรงสูง
----------------------------------------------------------------------- โค๊ด: _PROGRESS_ (100) โค๊ด: $PID = Run ("ezb5_en.exe /VERYSILENT /SP-") ----------------------------------------------------------------------------------- โค๊ด: $Wait = ProcessClose("$PID") คำอธิบาย: กระแสจะถูกบังคับให้ไหลเป็นช่วงๆ (ไม่เกียวกับหลินหุ้ย) ตามจังหวะการทำงานของโปรแกรมที่สั่งติดตั้ง ช้าบ้าง เร็วบ้าง ขึ้นอยู่กับข้อมูลที่ถูกก๊อบปี้ลงเครื่อง ณ.ขณะนั้น กระแสที่ผ่านการควบคุมจะออกมาทาง $Wait แล้วก็นำกระแสที่ได้ ไปควบคุม Counter Control Loop อีกทีหนึ่ง ----------------------------------------------------------------------------------- Download:AutoIns_SampleProj4 Files size:6.2 MB http://upload.one2car.com/download.aspx?pku=310BD800985EJTW4QJ9PPCXIAAXUEY (http://upload.one2car.com/download.aspx?pku=310BD800985EJTW4QJ9PPCXIAAXUEY) หัวข้อ: Re: AutoInstall & AutoSync FileProcess to Progressbar(AutoIt3) เริ่มหัวข้อโดย: sak2007 ที่ มิถุนายน 21, 2009, 03:14:01 pm AutoIt3 Progressbar Percentage ท่านสามารถเลือกเปลี่ยน ขนาด , สี ของ Progressbar ได้ตามต้องการ
โค๊ด: #include <GUIConstants.au3> (http://upic.me/i/6q/clip_5.jpg) Download:AutoIt Progressbar Percentage Size:2.6 MB http://upload.one2car.com/download.aspx?pku=310BD8A7D48PLGPIBU[5FL5ZGPDGNE (http://upload.one2car.com/download.aspx?pku=310BD8A7D48PLGPIBU[5FL5ZGPDGNE) หัวข้อ: Re: AutoInstall & AutoSync File Process to Progressbar(AutoIt3) เริ่มหัวข้อโดย: JABBOY ที่ กรกฎาคม 09, 2009, 09:56:40 pm สุดยอด ขอบคุณครับ thank2
|