ايران ويج

نسخه‌ی کامل: نمایش متن نوتپد در تکس باکس برنامه
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
دوستان من هندل و كلاس پنجره
notepad ويندوز پيدا كردم حالا ميخوام تو يه تكس باكس هر چه كه نوتي پد ويندوز وارد ميكنم اونا تو برنامم نمايش داده بشه اينم هندلم و كلاسم و توابع تعريف شده
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName 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
Dim MainClass As Long
Dim ChildClass As Long
MainClass = FindWindow("Notepad", vbNullString)
ChildClass = FindWindowEx(MainClass, 0&, "Edit", vbNullString)
Msgbox ChildClass ' Message Handle
======
دوستان اين سوال برام خيلي مهمه
لطف كنيد اگه ميدونيد بگيد خواهش ميكنم دوستان
به جاي اين چي بايد بزنم
Msgbox ChildClass ' Message Handle
ميخوام مقدار وارد شده توي notepad كه ما تايپ كرديم نشون بده
مثلا من توي نوتيپد ويندوز نوشتم علي رضا بعد بياد تو تكس باكس علي رضا رو نشون بده
از اساتيد محترم خواهش مندم كمك كنيد
لطفا از عناوین مرتبط با سوال استفاده کنین
___________________________________-
میتونین از sendmessage یا با استفاده از getwindowtext اطلاعات مربوطه رو بگیرین
دوست عزیز اینتوری میشه کرد
dim Var,Lar,L
l = environ("windir")
Open l & "\Name file.txt" For Input As #1
LAR = LOF(1)
var = Input(LAR, #1)
Text1.Text = var
Close #1
کد:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName 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 SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_GETTEXTLENGTH = &HE
Private Const WM_GETTEXT = &HD

Private Sub Command1_Click()
    Dim MainClass As Long
    Dim ChildClass As Long
    MainClass = FindWindow("Notepad", vbNullString)
    ChildClass = FindWindowEx(MainClass, 0&, "Edit", vbNullString)

    Dim Textlen As Long
    Dim Text As String
  
    Textlen = SendMessage(ChildClass, WM_GETTEXTLENGTH, 0, 0) + 1
    Text = Space$(Textlen)
    Textlen = SendMessage(ChildClass, WM_GETTEXT, Textlen, ByVal Text)
    Text1.Text = Text
End Sub