ชุมชนคนรักภาษาเบสิค - Visual Basic Community

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 1678|ตอบกลับ: 0

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

[คัดลอกลิงก์]

252

กระทู้

367

โพสต์

3066

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
3066



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


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

  2. Private Sub Form_Load()
  3.     Dim i As Integer
  4.     '// Open NotePad
  5.     Shell "NOTEPAD.EXE", 1
  6.     '// Focus to NotePad application.
  7.     AppActivate "Untitled - Notepad"
  8.     Randomize
  9.     Sendkeys "ITEM." & vbTab & "NUMBER" & vbTab & "DATE - TIME" & vbCrLf
  10.     For i = 1 To 20
  11.         '// i - Number - Date
  12.         Sendkeys _
  13.             i & vbTab & _
  14.             Int((Rnd * 999) + 1) & vbTab & _
  15.             DateAdd("d", Date, Rnd * 365), True
  16.         Sendkeys "{ENTER}"
  17.     Next
  18.     'End
  19. End Sub
คัดลอกไปที่คลิปบอร์ด

โค้ดในการแก้ปัญหา SendKeys ไม่ทำงานบน Windows 8/10 ขนาด 64 บิต ...
  1. '/  แก้ปัญหาฟังค์ชั่น SendKeys ใน Windows 8/10 64 บิต
  2. Public Sub Sendkeys(Text As String, Optional Wait As Boolean = False)
  3.     Dim WshShell As Object
  4.     Set WshShell = CreateObject("Wscript.shell")
  5.     WshShell.Sendkeys Text, Wait
  6.     Set WshShell = Nothing
  7. End Sub
คัดลอกไปที่คลิปบอร์ด

สิ่งที่ดีกว่าการให้ คือการให้แบบไม่มีที่สิ้นสุด
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|G2GNet.com  

GMT+7, 2020-9-21 03:24 , Processed in 0.590485 second(s), 4 queries , File On.

Powered by Discuz! X3.3 R20170401, Rev.54

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้