ฟอรั่ม PSsix

Would you like to react to this message? Create an account in a few clicks or log in to continue.

ฟอรั่มของบล็อก http://pssix.blogspot.com


2 posters

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    avatar
    MaxiMus
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty
    จำนวนข้อความ : 13
    ความนิยม : 0
    เข้าร่วมเมื่อ : 28/01/2014

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    ตั้งหัวข้อ by MaxiMus 29/01/14, 01:22 am

    ก่อนอื่นขอสวัสดี admin และสมาชิกทุกท่านครับ

      กระผมอยากจะศึกษาการเขียนโปรแกรม autoit ซึ่งคิดอยู่นานว่าจะเขียนโปรแกรมที่รันบน windows ด้วยอะไรดี กระผมมีพื้นฐานโปรแกรมมาบ้าง เมื่อหลายปีก่อนมาเน้นการเขียนเว็บด้วย php กว่า 10 ปี เป็นอาชีพ แต่มาหยุดเขียนเกือบ 5 ปีแล้วเนื่องจากเศรษฐกิจ จึงหันมาจากธุรกิจใหม่ที่น่าจะไปได้ดีกว่าการเขียนเว็บคือ สมาร์ทโฟนและแท็บเล็ต ซึ่งถือว่าทำเป็นเจ้าแรกๆ ของเมื่องไทย ที่เปิดศูนย์ service แต่ทั้งนี้ทั้งนั้น การแก้ปัญหาอาการเสียต่างๆ อาศัย command เป็นหลัก ทุกครั้งที่จะทำสิ่งได้ ก็ต้องนั่งพิมพ์คำสั่ง จึงคิดว่า หากเขียน tools ช่วยก็จะช่วยได้มาก จริงๆ vb ก็ทำได้ แต่บอกตามตรง ถูก hack โปรแกรมเยอะ โปรแกรมเราเขียนมาด้วยความยากลำบาก ถูก hack ไปแล้วยังมาแก้ให้เป็นของคนอื่นอีก ก็น่าเจ็บใจ จึงมองว่า autoit นี่แหล่ะที่น่าจะดีกว่า vb hack ไปเขียนไม่เป็นก็ไม่เกิดผล จึงต้องมารบกวน ปรมาจารทั้งหลายในบอร์ดแห่งนี้โดยเฉพาะท่าน admin คนเก่งของบอร์ด ฝากเนื้อฝากตัวด้วยครับ

    การจะเริ่มต้น ผมก็หาอ่านแล้วลองเขียน และรันโปรแกรม autoit มาบ้าง แต่ก็ยังไม่ค่อยเข้าใจเรื่องการผ่านตัวแปลไปมานัก จึงอยากให้ ท่านสมาชิก หรือ ท่าน admin ลองยกตัวอย่าง code ที่จะเขียนจากรูป ที่แนบมานี่

    กล่าวคือ หากกระผม อยากคลิกปุ่มซึ่งซ่อนคำสั่งไว้เช่น ปุ่มเช็ค drive ซึ่งซ้อนคำสั่ง dir ไว้ ซึ่งเป็นคำสั่งแสดงไฟล์ข้อมูลของ drive นั้น เหมือนดังกรอบสีดำ แต่ความต้องการคือ autoit สามารถนำการแสดงผลดังกล่าวมาแสดงใน text area ได้หรือไม่ ตามลูกศรสีแดง รบกวนตัวอย่าง code ได้ไหมครับ ซึ่งเมื่อเข้าใจก็สามารถต่อยอดได้งานขึ้น ขอบคุณครับ

    [You must be registered and logged in to see this image.]


    รูปไม่ขึ้น คลิกตามลิงค์ครับ ==> [You must be registered and logged in to see this link.]
    Arm
    Arm
    PSsix Member Super Class III
    PSsix Member Super Class III


    PSsix Master PSsix Program Coder
    จำนวนข้อความ : 268
    ความนิยม : 54
    เข้าร่วมเมื่อ : 31/03/2011
    อายุ : 26

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty Re: รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    ตั้งหัวข้อ by Arm 29/01/14, 06:18 pm

    ประมาณนี้ได้มั้ยครับ

    [You must be registered and logged in to see this image.]
    Code:
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Process.au3>

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Directory Check", 436, 361, -1, -1)
    $Edit1 = GUICtrlCreateEdit("", 16, 16, 401, 273)
    GUICtrlSetData(-1, "")
    $Check = GUICtrlCreateButton("Check !!", 48, 304, 131, 41)
    GUICtrlSetFont(-1, 12, 800, 0, "Tahoma")
    $Label1 = GUICtrlCreateLabel("Select Drive :", 189, 314, 90, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Tahoma")
    $DriveList = GUICtrlCreateCombo("", 284, 315, 110, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    _UpdateList()
    AdlibRegister("upd", 10000)

    While 1
     $nMsg = GUIGetMsg()
     Switch $nMsg
     Case $GUI_EVENT_CLOSE
     Exit
     Case $Check
     GUICtrlSetData($Edit1, _getDOSOutput("dir /w " & GUICtrlRead($DriveList) & "\"))
     EndSwitch
    WEnd

    Func upd()
     _UpdateList()
    EndFunc   ;==>upd

    Func _UpdateList($sType = Default)
     If $sType = Default Then $sType = "all"
     $Drive = DriveGetDrive($sType)
     If @error Then SetError(1)
     GUICtrlSetData($DriveList, "")
     For $i = 1 To $Drive[0]
     GUICtrlSetData($DriveList, StringUpper($Drive[$i]))
     Next
    EndFunc   ;==>_UpdateList

    Func _getDOSOutput($command)
     Local $text = '', $Pid = Run('"' & @ComSpec & '" /c ' & $command, '', @SW_HIDE, 2 + 4)
     While 1
     $text = $text & StdoutRead($Pid, False, False) & @CRLF
     If @error Then ExitLoop
     Sleep(10)
     WEnd
     Return $text
    EndFunc   ;==>_getDOSOutput
     em233 em230 em218

    EDIT: AutoIt ก็สามารถโดน Decompile ได้นะครับ อิอิ em232
    avatar
    MaxiMus
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty
    จำนวนข้อความ : 13
    ความนิยม : 0
    เข้าร่วมเมื่อ : 28/01/2014

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty Re: รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    ตั้งหัวข้อ by MaxiMus 29/01/14, 10:34 pm

    Arm พิมพ์ว่า:ประมาณนี้ได้มั้ยครับ

    [You must be registered and logged in to see this image.]
    Code:
    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Process.au3>

    #region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Directory Check", 436, 361, -1, -1)
    $Edit1 = GUICtrlCreateEdit("", 16, 16, 401, 273)
    GUICtrlSetData(-1, "")
    $Check = GUICtrlCreateButton("Check !!", 48, 304, 131, 41)
    GUICtrlSetFont(-1, 12, 800, 0, "Tahoma")
    $Label1 = GUICtrlCreateLabel("Select Drive :", 189, 314, 90, 22)
    GUICtrlSetFont(-1, 11, 400, 0, "Tahoma")
    $DriveList = GUICtrlCreateCombo("", 284, 315, 110, 25, BitOR($GUI_SS_DEFAULT_COMBO, $CBS_SIMPLE))
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    _UpdateList()
    AdlibRegister("upd", 10000)

    While 1
     $nMsg = GUIGetMsg()
     Switch $nMsg
     Case $GUI_EVENT_CLOSE
     Exit
     Case $Check
     GUICtrlSetData($Edit1, _getDOSOutput("dir /w " & GUICtrlRead($DriveList) & "\"))
     EndSwitch
    WEnd

    Func upd()
     _UpdateList()
    EndFunc   ;==>upd

    Func _UpdateList($sType = Default)
     If $sType = Default Then $sType = "all"
     $Drive = DriveGetDrive($sType)
     If @error Then SetError(1)
     GUICtrlSetData($DriveList, "")
     For $i = 1 To $Drive[0]
     GUICtrlSetData($DriveList, StringUpper($Drive[$i]))
     Next
    EndFunc   ;==>_UpdateList

    Func _getDOSOutput($command)
     Local $text = '', $Pid = Run('"' & @ComSpec & '" /c ' & $command, '', @SW_HIDE, 2 + 4)
     While 1
     $text = $text & StdoutRead($Pid, False, False) & @CRLF
     If @error Then ExitLoop
     Sleep(10)
     WEnd
     Return $text
    EndFunc   ;==>_getDOSOutput
     em233 em230 em218

    EDIT: AutoIt ก็สามารถโดน Decompile ได้นะครับ อิอิ em232

    ขอบคุณท่าน Arm ครับ ผมเข้าใจครับไม่ว่าโปรแกรมไหนก็คงสมารถ Decompile ได้ แต่เมื่อ Decomplie ไปแล้วจะเอาไปใช้ได้ไหมเป็นอีกเรื่องนึง อย่างน้อย AutoIT ยังไม่แพร่หลายเหมือน VB

    ขอคุณอีกครั้งที่แบ่งปันความรู้ครับ และผมขอจำเลยว่า ท่านคือ อ.คนแรกของผมที่สอน หากมีอะไรให้ช่วยเหลือผมก็ยินดี โดยเฉพาะแท็บเล็ตหากท่านมีใช้ ไม่ว่าจะเป็นแท็บจีน แท็บแบรนด์ SAMSUNG TAB หรือ IPAD ยินดีซ่อมให้ฟรีครับ ด้าน software เช่น ค้าง ติดรหัส ดับ หรือแฟลชผิดมา หากแตกก็ค่าแรงฟรีครับ อะไหล่ว่าไปตามราคาครับ

    ไม่แน่ผมเขียนเก่งก็เขียน tools ให้ท่านแก้เป็นกรณีไป ก็ย่อมได้ครับ

    ขอบคุณครับ
    avatar
    MaxiMus
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty
    จำนวนข้อความ : 13
    ความนิยม : 0
    เข้าร่วมเมื่อ : 28/01/2014

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty Re: รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    ตั้งหัวข้อ by MaxiMus 29/01/14, 10:46 pm

    ถ้าผมต้องดู form จาก code ต้องทำอย่างไรครับ จะได้ลองแก้ไขใน form ดูว่าเวลา เพิ่มอะไรเข้าไป จะเกิด code อะไรบ้าง
    avatar
    MaxiMus
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty
    จำนวนข้อความ : 13
    ความนิยม : 0
    เข้าร่วมเมื่อ : 28/01/2014

    รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ Empty Re: รบกวนท่าน admin หรือ สมาชิกทุกๆ ท่านครับ

    ตั้งหัวข้อ by MaxiMus 29/01/14, 10:47 pm

    อ๋อ ได้ละครับ import เข้ามา ง่ายดีเหมือนกัน ขอบคุณครับ

      เวลาขณะนี้ 27/04/24, 03:36 pm