thongkorn โพสต์ 2018-7-23 20:54:03

[VB6] การสั่งเริ่มต้นการทำงานให้กับโปรแกรม และการส่งค่าไปยัง Application

http://www.g2gnet.com/webboard/images/vb6/AppActivate.png

ตัวอย่างนี้เป็นการสั่งงานจากการเขียนโค้ดด้วย VB6 เพื่อทำการเปิดโปรแกรม Notepad จากนั้นทำการส่งค่า หรือ คีย์สโตรก (สั่งจากโค้ดแทนการกดแป้นพิมพ์ด้วยมือ) ไปให้โปรแกรม NotePad ซึ่งจะมี Method ตัวหนึ่งในการเรียกหน้าจอ Application ขึ้นมาทำงาน นั่นคือ AppActivate ...

มาดูโค้ดกันเถอะ ...
Option Explicit

Private Sub Form_Load()
    Dim i As Integer
    '// Open NotePad
    Shell "NOTEPAD.EXE", 1
    '// Focus to NotePad application.
    AppActivate "Untitled - Notepad"
    Randomize
    Sendkeys "ITEM." & vbTab & "NUMBER" & vbTab & "DATE - TIME" & vbCrLf
    For i = 1 To 20
      '// i - Number - Date
      Sendkeys _
            i & vbTab & _
            Int((Rnd * 999) + 1) & vbTab & _
            DateAdd("d", Date, Rnd * 365), True
      Sendkeys "{ENTER}"
    Next
    'End
End Sub
โค้ดในการแก้ปัญหา SendKeys ไม่ทำงานบน Windows 8/10 ขนาด 64 บิต ...
'/แก้ปัญหาฟังค์ชั่น SendKeys ใน Windows 8/10 64 บิต
Public Sub Sendkeys(Text As String, Optional Wait As Boolean = False)
    Dim WshShell As Object
    Set WshShell = CreateObject("Wscript.shell")
    WshShell.Sendkeys Text, Wait
    Set WshShell = Nothing
End Sub
หน้า: [1]
ดูในรูปแบบกติ: [VB6] การสั่งเริ่มต้นการทำงานให้กับโปรแกรม และการส่งค่าไปยัง Application