تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار :- بخصوص اخذ نص من برنامج اخر WM_GETTEXT
#1
السلام عليكم ورحمة الله

عندي استفسار بخصوص اخذ نص من برنامج اخر يعمل في نفس الوقت

الكود اللي عندي شغال تمام باخذ نص من برنامج ال Notepad

بس انا اريد اخذ نص من برنامج اخر 

مثلا  من برنامج Google Chrome

اخذ نص الرابط  

او اي برنامج اخر 



هذا الكود 

كود :
Imports System.Runtime.InteropServices
Public Class Form1
   Private Const WM_GETTEXT As Integer = &HD
   Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer,
   ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
   <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)>
   Private Shared Function FindWindowEx(ByVal parentHandle As IntPtr,
                                        ByVal childAfter As IntPtr,
                                        ByVal lclassName As String,
                                        ByVal windowTitle As String) As IntPtr
   End Function

   Declare Auto Function FindWindow Lib "user32.dll" (ByVal lpClassName As String, ByVal lpWindowName As String) As IntPtr

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       'Find the running notepad window
       Dim Hwnd As IntPtr = FindWindow(Nothing, "uuu.txt - Notepad")

       'Alloc memory for the buffer that recieves the text
       Dim Handle As IntPtr = Marshal.AllocHGlobal(100)

       'send WM_GWTTEXT message to the notepad window
       Dim NumText As Integer = SendMessage(Hwnd, WM_GETTEXT, 50, Handle)

       'copy the characters from the unmanaged memory to a managed string
       Dim Text As String = Marshal.PtrToStringUni(Handle)

       'Display the string using a label
       Label1.Text = Text

       'Find the Edit control of the Running Notepad
       Dim ChildHandle As IntPtr = FindWindowEx(Hwnd, IntPtr.Zero, "Edit", Nothing)

       'Alloc memory for the buffer that recieves the text
       Dim Hndl As IntPtr = Marshal.AllocHGlobal(200)

       'Send The WM_GETTEXT Message
       NumText = SendMessage(ChildHandle, WM_GETTEXT, 200, Hndl)

       'copy the characters from the unmanaged memory to a managed string
       Text = Marshal.PtrToStringUni(Hndl)

       'Display the string using a label
       Label2.Text = Text

   End Sub

End Class



الكود هذا شغال مثلا اذا فتحت   Notepad   اسمه  uuu.txt

هذا الكود يسحب النص الموجود في 


بس كيف اخذ  نص من برنامج اخر  

بارك الله فيكم وشكرا
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Exclamation [سؤال] مشكلة عدم قبول النصوص الطويل في قاعدة البيانات على برنامج فيجوال بيسك 2010 الرائد 13 362 منذ 10 ساعة مضت
آخر رد: الرائد
  [VB.NET] برنامج بريد الصادر والوارد مع السكانر khairallah 0 32 أمس, 04:33 PM
آخر رد: khairallah
  كيف أعمل برنامج تصحيح وقراءة كروت الاجابات بإستخدام ماكينة التصوير جيولوجي مبتدئ 2 97 أمس, 12:52 AM
آخر رد: حريف برمجة
Wink تسجيل الدخول في برنامج اخر ابو خليل99 8 168 23-06-19, 08:05 PM
آخر رد: ابو خليل99
Exclamation [VB.NET] استفسار بخصوص الفورم دائما في المقدمة sniperjawadino 9 308 21-06-19, 07:17 PM
آخر رد: elgokr
  اريد حفظ المشروع كتطبيق للموبايل او برنامج سهل لعمل تطبيق لموقعي ahmedhhh2 7 231 21-06-19, 07:00 PM
آخر رد: elgokr
  [سؤال] برنامج تشفير بدون سيريل habamix 1 95 21-06-19, 06:45 PM
آخر رد: elgokr
  استفسار عن حذف فولدرات ابو روضة 13 266 16-06-19, 01:54 PM
آخر رد: elgokr
  [VB.NET] استفسار عن تصدير الرسم البياني الى ملف الوورد aljzazy 6 156 09-06-19, 08:19 PM
آخر رد: aljzazy
  [VB.NET] بخصوص مشكلة بتنفيذ كود sdk البصمة ssayed111 4 873 22-05-19, 08:34 AM
آخر رد: محمد محمود أحمد الغرياني

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم