السلام عليكم ورحمة الله وبركاته
هذا كود لإرسال النصوص مباشرة إلى غرف البالتوك ، ولكن الكود بفيجوال بيسك 6 ويحتاج تحويلة إلى دوت نت
Option Strict Off
Option Explicit On
Module Module1
Public Declare Function EnumWindows Lib "user32" (ByVal lpEnumFunc As Integer, ByVal lParam As Integer) As Integer
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA"(ByVal hwnd As Integer, ByVal lpString As String, ByVal cch As Integer) As Integer
Public Declare Function IsWindowVisible Lib "user32" (ByVal hwnd As Integer) As Integer
Public Declare Function GetParent Lib "user32" (ByVal hwnd As Integer) As Integer
'UPGRADE_ISSUE: Declaring a parameter 'As Any' is not supported. Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="FAE78A8D-8978-4FD4-8208-5B7324A8F795"'
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA"(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Any) As Integer
Public Declare Function SendMessageLong Lib "user32" Alias "SendMessageA"(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Public Declare Function SendMessageByString Lib "user32" Alias "SendMessageA"(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As String) As Integer
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA"(ByVal lpClassName As String, ByVal lpWindowName As String) As Integer
Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA"(ByVal hWnd1 As Integer, ByVal hWnd2 As Integer, ByVal lpsz1 As String, ByVal lpsz2 As String) As Integer
Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Integer, ByVal wCmd As Integer) As Integer
Public Const GW_Child As Integer = 5
Public Const WM_LBUTTONDOWN As Short = &H201s
Public Const WM_LBUTTONUP As Short = &H202s
Public Const WM_SETTEXT As Short = &HCs
Private Const HTCAPTION As Short = 2
Dim sPattern As String
Dim hFind As Integer
'Send Text To Paltalk
Public Function Palsend(ByRef Sendit As String) As Object
Dim X As Integer
Dim xx As Integer
Dim xxx As Integer
Dim xxxx As Integer
Dim xxxxx As Integer
Dim xxxxxx As Integer
Dim xxxxxxx As Integer
Dim xxxxxxxx As Integer
Dim xxxxxxxxx As Integer
Dim xxxxxxxxxx As Integer
X = FindWindowWild("*Voice Room", False) 'I use my FindWindowWild Function To search For - Voice room
If X = 0 Then
Exit Function
End If
xx = FindWindowEx(X, 0, "wtl_splitterwindow", vbNullString)
xxx = FindWindowEx(xx, 0, "wtl_splitterwindow", vbNullString)
xxxx = FindWindowEx(xxx, 0, "wtl_splitterwindow", vbNullString)
xxxxx = GetWindow(xxxx, GW_Child) 'This will get the next control after wtl_splitterwindow, the next control is also knowen as Atl:####### what ever...
xxxxxx = FindWindowEx(xxxxx, 0, "atlaxwin71", vbNullString)
xxxxxxx = FindWindowEx(xxxxxx, 0, "#32770", vbNullString)
xxxxxxxx = FindWindowEx(xxxxxxx, 0, "richedit20a", vbNullString)
xxxxxxxx = FindWindowEx(xxxxxxx, xxxxxxxx, "richedit20a", vbNullString)
Call SendMessageByString(xxxxxxxx, WM_SETTEXT, 0, Sendit)
Do
System.Windows.Forms.Application.DoEvents()
xxxxxxxxx = FindWindowEx(xxxxxxx, 0, "toolbarwindow32", vbNullString)
xxxxxxxxxx = FindWindowEx(xxxxxxxxx, 0, "wtl_bitmapbutton", vbNullString)
Call SendMessageLong(xxxxxxxxxx, WM_LBUTTONDOWN, 0, 0)
Call SendMessageLong(xxxxxxxxxx, WM_LBUTTONUP, 0, 0)
Loop Until xxxxxxxxxx <> 0
End Function
'Gets the window title
Function EnumWinProc(ByVal hwnd As Integer, ByVal lParam As Integer) As Integer
Dim k As Integer
Dim sName As String
If IsWindowVisible(hwnd) And GetParent(hwnd) = 0 Then
sName = Space(128)
k = GetWindowText(hwnd, sName, 128)
If k > 0 Then
sName = Left(sName, k)
If lParam = 0 Then sName = UCase(sName)
If sName Like sPattern Then
hFind = hwnd
EnumWinProc = 0
Exit Function
End If
End If
End If
EnumWinProc = 1
End Function
'FindWindowWild Function
Public Function FindWindowWild(ByRef sWild As String, Optional ByRef bMatchCase As Boolean = True) As Integer
sPattern = sWild
If Not bMatchCase Then sPattern = UCase(sPattern)
'UPGRADE_WARNING: Add a delegate for AddressOf EnumWinProc Click for more: 'ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?keyword="E9E157F7-EF0C-4016-87B7-7D7FBBC6EE08"'
EnumWindows(AddressOf EnumWinProc, bMatchCase)
FindWindowWild = hFind
End Function
End Moduleتواجهني مشكلتين
الأولى : ما هو البديل لكلمة Any
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA"(ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByRef lParam As Any) As Integer
والثانية :وهنا مشكلة AddressOf
EnumWindows(AddressOf EnumWinProc, bMatchCase)