VB 6.0 เขียน Code ส่งข้อความเข้า text box อีกโปรแกรมหนึ่ง ทำไงบ้างครับ
สิ่งที่ต้องการคือ อยากส่งข้อความเข้าไปวางบน Text box ในอีกโปรแกรมหนึ่งครับ โดยตัวอย่างที่ผมทำคือ สร้าง Project1, 2 ขึ้นมา โดย proj 1 เป็นตัวรับข้อความ มี text box control ทั้งหมด 4 อัน ทำการ Bluid .exe แล้ว run บน windows เรียบร้อยแล้ว (ใน Task manager มี process ที่ต้องการแสดงมาแล้วครับ ชื่อ "Project1")
ส่วน proj 2 เป็นตัวส่งข้อความ มี text box 2 อัน อันที่ 1 กรอกชื่อ Caption ของโปรแกรมปลายทาง (Project1) นั้นหละครับ ส่วนอันที่ 2 ให้กรอกข้อความที่ต้องการไปแสดงใน project1 ครับ
ผมเขียน Code ส่งข้อความเข้า text box ของ project 1 ได้แล้ว แต่ยังส่งเข้า text box ที่ต้องการไม่ได้ครับ คือ ค้องการส่งเข้า text box ตัวที่ 1 แต่ตอนนี้มันส่งเข้า text box ตัวที่ 4 อยู่ครับ
ท่านใด พอมีแนวทาง รบกวนชี้แนะด้วยครับ Code ที่ Proj2 เขียนไว้เพื่อส่งเข้า Proj1 ครับ
---------------------------------------------------------------------- Private Declare Function SendMessageByString Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As Any) As Long
Const WM_SETTEXT = &HC
Private Sub bt_send_Click() Dim hWnd, lRet As Long hWnd = FindWindow(vbNullString, txtFormname.Text) lngTxt = FindWindowEx(hWnd, 0&, "ThunderRT6TextBox", vbNullString) lRet = SendMessageByString(lngTxt, WM_SETTEXT, 0, txtMessage.Text) Debug.Print CBool(lRet) If lRet Then Call MsgBox("Message to send.", vbInformation, "Info...") Else Call MsgBox("Don't send.", , "Info...") End If End Sub ----------------------------------------------------------------------
|