[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]