ฟอรั่ม 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

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

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


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 06/08/15, 02:39 pm

    แบบว่าเราเปิดโฟลเดอร์ที่ชื่อว่า A แล้วกด Hotkey เลข1
    แล้วไฟล์ที่เราจะก็อปมันก็จะมาอยู่ในโฟลเดอร์ A ที่เราเปิดไว้
    แบบนี้พอจะทำได้ไหมครับ รบกวนหน่อยครับ
    ขอบคุณครับ
    avatar
    thunmor
    PSsix Member
    PSsix Member


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 26
    ความนิยม : 22
    เข้าร่วมเมื่อ : 06/08/2012

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by thunmor 07/08/15, 01:34 am

    ลองสคริปนี้ดูครับ
    Code:
    HotKeySet("{NUMPAD1}", "test")

    While 1
       Sleep(1000)
    WEnd

    Func test()
       FileCopy(@WindowsDir & "\media\tada.wav", ControlGetText(WinGetTitle("[ACTIVE]"), "", "Edit1"), 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้
    EndFunc
    avatar
    Ghost46764
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 07/08/15, 10:59 am

    thunmor พิมพ์ว่า:ลองสคริปนี้ดูครับ
    Code:
    HotKeySet("{NUMPAD1}", "test")

    While 1
       Sleep(1000)
    WEnd

    Func test()
       FileCopy(@WindowsDir & "\media\tada.wav", ControlGetText(WinGetTitle("[ACTIVE]"), "", "Edit1"), 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้
    EndFunc

    ไม่ได้ครับ
    avatar
    thunmor
    PSsix Member
    PSsix Member


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 26
    ความนิยม : 22
    เข้าร่วมเมื่อ : 06/08/2012

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by thunmor 07/08/15, 12:12 pm

    ต้องคลิกไปที่หน้าต่างไฟล์ให้หน้าต่างActiveอยู่หน้าแรกก่อนนะครับ แล้วค่อยกดเลข1
    ถ้ายังไม่ได้แสดงว่าชื่อClassของคุณไม่เหมือนของผม WinXPของผมมันชื่อEdit1
    avatar
    Ghost46764
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 07/08/15, 09:38 pm

    thunmor พิมพ์ว่า:ต้องคลิกไปที่หน้าต่างไฟล์ให้หน้าต่างActiveอยู่หน้าแรกก่อนนะครับ แล้วค่อยกดเลข1
    ถ้ายังไม่ได้แสดงว่าชื่อClassของคุณไม่เหมือนของผม WinXPของผมมันชื่อEdit1

    แก้ชื่อ Class แล้วก็ไม่ได้ครับ
    avatar
    thunmor
    PSsix Member
    PSsix Member


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 26
    ความนิยม : 22
    เข้าร่วมเมื่อ : 06/08/2012

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by thunmor 07/08/15, 11:18 pm

    ก่อนอื่นพยายามเขียนสคริปดึงtext จากช่องAddressออกมาให้ได้ก่อน
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()
       ; ดึงชื่อหน้าต่างที่กำลังACTIVE
       $wintitle = WinGetTitle("[ACTIVE]")
       ; ดึงtextในหน้าต่างจากช่องaddressbar (classnameNN Edit1)
       $text = ControlGetText($wintitle, "", "Edit1")
       ; เอา text ที่ดึงมา แสดงในmsgbox เพื่อดูว่าถูกต้องหรือไม่
       MsgBox(0, "ทดสอบ", "ชื่อแฟ้มคือ" & @CRLF & $wintitle & @CRLF & @CRLF & "textที่ดึงจากaddressbarคือ" & @CRLF & $text)
    EndFunc
    ใส่ชื่อclassให้ถูกแล้วลองดูว่าดึงออกมาได้หรือปล่าว
    [You must be registered and logged in to see this image.]

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


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 08/08/15, 01:32 am

    thunmor พิมพ์ว่า:ก่อนอื่นพยายามเขียนสคริปดึงtext จากช่องAddressออกมาให้ได้ก่อน
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()
       ; ดึงชื่อหน้าต่างที่กำลังACTIVE
       $wintitle = WinGetTitle("[ACTIVE]")
       ; ดึงtextในหน้าต่างจากช่องaddressbar (classnameNN Edit1)
       $text = ControlGetText($wintitle, "", "Edit1")
       ; เอา text ที่ดึงมา แสดงในmsgbox เพื่อดูว่าถูกต้องหรือไม่
       MsgBox(0, "ทดสอบ", "ชื่อแฟ้มคือ" & @CRLF & $wintitle & @CRLF & @CRLF & "textที่ดึงจากaddressbarคือ" & @CRLF & $text)
    EndFunc
    ใส่ชื่อclassให้ถูกแล้วลองดูว่าดึงออกมาได้หรือปล่าว
    [You must be registered and logged in to see this image.]


    นี้ครับ [You must be registered and logged in to see this image.]
    avatar
    Ghost46764
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 08/08/15, 01:39 am

    โอเคตอนนี้ขึ้นมาแล้วครับ

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

    แล้วต้องทำยังไงต่อละครับ
    avatar
    thunmor
    PSsix Member
    PSsix Member


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 26
    ความนิยม : 22
    เข้าร่วมเมื่อ : 06/08/2012

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by thunmor 08/08/15, 11:50 am

    อ่อ ผมเข้าใจปัญหาแล้ว คือWin7พอดึงtextออกมากมันติดคำว่า"Address: "ออกมาด้วย (WinXPจะไม่ติด)
    วิธีแก้คือเมื่อดึงtextออกมาแล้ว ต้องตัดคำว่า"Address: "ออกก่อนให้เหลือแต่path
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()
       $text = ControlGetText(WinGetTitle("[ACTIVE]"), "", "DirectUIHWND3") ; ดึงtextจากช่องaddressbar
       $dir = StringTrimLeft($text, 9) ; ตัดอักษร9ตัวแรกออก (ต้องการตัดคำว่า "Address: " ทิ้ง)
       FileCopy(@WindowsDir & "\media\tada.wav", $dir, 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้ (เลข1=เขียนทับหากมีไฟล์อยู่แล้ว 0=ไม่เขียนทับไฟล์เดิม)
    EndFunc
    avatar
    Ghost46764
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 08/08/15, 03:18 pm

    thunmor พิมพ์ว่า:อ่อ ผมเข้าใจปัญหาแล้ว คือWin7พอดึงtextออกมากมันติดคำว่า"Address: "ออกมาด้วย (WinXPจะไม่ติด)
    วิธีแก้คือเมื่อดึงtextออกมาแล้ว ต้องตัดคำว่า"Address: "ออกก่อนให้เหลือแต่path
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()
       $text = ControlGetText(WinGetTitle("[ACTIVE]"), "", "DirectUIHWND3") ; ดึงtextจากช่องaddressbar
       $dir = StringTrimLeft($text, 9) ; ตัดอักษร9ตัวแรกออก (ต้องการตัดคำว่า "Address: " ทิ้ง)
       FileCopy(@WindowsDir & "\media\tada.wav", $dir, 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้ (เลข1=เขียนทับหากมีไฟล์อยู่แล้ว 0=ไม่เขียนทับไฟล์เดิม)
    EndFunc

    ก็ยังไม่ได้อยู่ดีครับ
    avatar
    thunmor
    PSsix Member
    PSsix Member


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 26
    ความนิยม : 22
    เข้าร่วมเมื่อ : 06/08/2012

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by thunmor 08/08/15, 04:54 pm

    เวลาเขียนสคริปคุณต้องรู้วิธีหาข้อผิดพลาดด้วย ว่าผิดพลาดในขั้นตอนไหนเพื่อจะได้แก้ให้ถูก เป็นการยากที่ผมเดาได้ว่าคุณทำพลาดขั้นตอนไหน
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()

       $winname = WinGetTitle("[ACTIVE]") ; ดึงชื่อหน้าต่างที่ACTIVE
       If $winname = "" Then
          MsgBox(0, "เก็บชื่อหน้าต่างล้มเหลว", "ไม่พบหน้าต่าง")
          Exit
       Else
          MsgBox(0, "เก็บชื่อหน้าต่างสำเร็จ", "ชื่อหน้าต่างที่เก็บได้คือ  " & $winname & @CRLF & @CRLF & "คุณต้องดูด้วยว่าชื่อหน้าต่างที่เก็บมาใช่ชื่อหน้าต่างไฟล์หรือปล่าว ถ้าไม่ใช่แสดงว่าคุณFocusผิดหน้าต่างและแน่นอนจะเกิดความผิดพลาดในขั้นตอนต่อๆไป")
       EndIf

       $text = ControlGetText($winname, "", "DirectUIHWND3") ; ดึงtextจากช่องaddressbar
       If $text = "" Then
          MsgBox(0, "เก็บtextจากaddressล้มเหลว", "ปัญหาอาจเกิดจากชื่อclassผิด หรือ คุณไม่ได้Focusไปที่หน้าต่างไฟล์ก่อนกดHotKey spacebar")
          Exit
       Else
          MsgBox(0, "เก็บtextจากaddressสำเร็จ", "textที่เก็บมาได้คือ " & $text)
       EndIf

       $dir = StringTrimLeft($text, 9) ; ตัดอักษร9ตัวแรกออก (ต้องการตัดคำว่า "Address: " ทิ้ง)
       MsgBox(0, "", "ผลจากการตัดออกแล้วเหลือเป็น " & $dir & @CRLF & @CRLF & "คุณต้องดูว่าการตัดคำว่าAddress: ออกหมดหรือตัดออกเกินไปหรือไม่ ถ้าตัดออกไม่หมด หรือตัดออกเกินไปแม้ตัวเดียวขั้นตอนต่อไปจะผิดพลาด")

       $i = FileCopy(@WindowsDir & "\media\tada.wav", $dir, 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้ (เลข1=เขียนทับหากมีไฟล์อยู่แล้ว 0=ไม่เขียนทับไฟล์เดิม)
       If $i = 0 Then
          MsgBox(0, "", "ถ้าคุณเห็นหน้าต่างนี้แสดงว่า การcopyผิดพลาด อาจเกิดจากกำหนดไฟล์ต้นทาง/ปลายทางผิด" & @CRLF & "วิธีแก้ปัญหาคือ คุณต้องระบุไฟล์ต้นทางให้ถูกต้อง และดูให้แน่ใจว่าในขั้นตอนตัดอักษร ตัดtextที่ไม่ต้องการออกหมดไม่ขาดและไม่เกิน")
          Exit
       Else
          MsgBox(0, "", "Copy ไฟล์สำเร็จเรียบร้อย")
       EndIf

    EndFunc
    ลองรันสคริปนี้ดู มันอาจช่วยให้รู้ว่าทำพลาดขัั้นตอนไหน
    avatar
    Ghost46764
    สมาชิกทั่วไป
    สมาชิกทั่วไป


    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty
    จำนวนข้อความ : 17
    ความนิยม : 0
    เข้าร่วมเมื่อ : 17/04/2015

    ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์ Empty Re: ขอถามเรื่องสร้าง Hotkey ไว้ก็อปไฟล์

    ตั้งหัวข้อ by Ghost46764 08/08/15, 09:03 pm

    thunmor พิมพ์ว่า:เวลาเขียนสคริปคุณต้องรู้วิธีหาข้อผิดพลาดด้วย ว่าผิดพลาดในขั้นตอนไหนเพื่อจะได้แก้ให้ถูก เป็นการยากที่ผมเดาได้ว่าคุณทำพลาดขั้นตอนไหน
    Code:
    HotKeySet("{SPACE}", "test") ; ใช้spacebar เป็นHotKey

    While 1
       Sleep(1000)
    WEnd

    Func test()

       $winname = WinGetTitle("[ACTIVE]") ; ดึงชื่อหน้าต่างที่ACTIVE
       If $winname = "" Then
          MsgBox(0, "เก็บชื่อหน้าต่างล้มเหลว", "ไม่พบหน้าต่าง")
          Exit
       Else
          MsgBox(0, "เก็บชื่อหน้าต่างสำเร็จ", "ชื่อหน้าต่างที่เก็บได้คือ  " & $winname & @CRLF & @CRLF & "คุณต้องดูด้วยว่าชื่อหน้าต่างที่เก็บมาใช่ชื่อหน้าต่างไฟล์หรือปล่าว ถ้าไม่ใช่แสดงว่าคุณFocusผิดหน้าต่างและแน่นอนจะเกิดความผิดพลาดในขั้นตอนต่อๆไป")
       EndIf

       $text = ControlGetText($winname, "", "DirectUIHWND3") ; ดึงtextจากช่องaddressbar
       If $text = "" Then
          MsgBox(0, "เก็บtextจากaddressล้มเหลว", "ปัญหาอาจเกิดจากชื่อclassผิด หรือ คุณไม่ได้Focusไปที่หน้าต่างไฟล์ก่อนกดHotKey spacebar")
          Exit
       Else
          MsgBox(0, "เก็บtextจากaddressสำเร็จ", "textที่เก็บมาได้คือ " & $text)
       EndIf

       $dir = StringTrimLeft($text, 9) ; ตัดอักษร9ตัวแรกออก (ต้องการตัดคำว่า "Address: " ทิ้ง)
       MsgBox(0, "", "ผลจากการตัดออกแล้วเหลือเป็น " & $dir & @CRLF & @CRLF & "คุณต้องดูว่าการตัดคำว่าAddress: ออกหมดหรือตัดออกเกินไปหรือไม่ ถ้าตัดออกไม่หมด หรือตัดออกเกินไปแม้ตัวเดียวขั้นตอนต่อไปจะผิดพลาด")

       $i = FileCopy(@WindowsDir & "\media\tada.wav", $dir, 1) ;copy ไฟล์ชื่อ tada.wav ไปยังโฟลเดอร์ที่เปิดไว้ (เลข1=เขียนทับหากมีไฟล์อยู่แล้ว 0=ไม่เขียนทับไฟล์เดิม)
       If $i = 0 Then
          MsgBox(0, "", "ถ้าคุณเห็นหน้าต่างนี้แสดงว่า การcopyผิดพลาด อาจเกิดจากกำหนดไฟล์ต้นทาง/ปลายทางผิด" & @CRLF & "วิธีแก้ปัญหาคือ คุณต้องระบุไฟล์ต้นทางให้ถูกต้อง และดูให้แน่ใจว่าในขั้นตอนตัดอักษร ตัดtextที่ไม่ต้องการออกหมดไม่ขาดและไม่เกิน")
          Exit
       Else

          MsgBox(0, "", "Copy ไฟล์สำเร็จเรียบร้อย")
       EndIf

    EndFunc
    ลองรันสคริปนี้ดู มันอาจช่วยให้รู้ว่าทำพลาดขัั้นตอนไหน

    ได้แล้วครับ ขอบคุณมากๆๆๆๆๆๆๆๆๆๆๆ em238 em238 em238

      เวลาขณะนี้ 27/04/24, 02:38 am