다른 앱 (예 : 메모장 또는 워드 패드)에서 텍스트를 읽으 려합니다. VB 6에서 전에 프로그래밍하지 않은 마녀에서해야하지만 다른 언어는 사용할 수 없습니다.다른 응용 프로그램의 텍스트 상자에서 텍스트 읽기
나는 Vb.Net에 대한 코드를 발견하고 난 VB 6을 수정,하지만 난 항상 오류가 발생합니다 : "런타임 오류 '424': 개체가 필요합니다"
코드는 다음과 같습니다
Const WM_GETTEXTLENGTH = &HE
Const WM_GETTEXT = &HD
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 hWndParent As Long, _
ByVal hWndChildAfter As Long, _
ByVal lpszClassName As String, _
ByVal lpszWindowName As String _
) As Long
Private Declare Function GetWindowText Lib "USER32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "USER32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
Private Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (_
ByVal hWnd As Long, ByVal Msg As Long, _
wParam As Any, lParam As Any) As Long
Private Sub Command1_Click()
Dim notepadHandle As Long
notepadHandle = FindWindow("Notepad", vbNullString)
Dim childhandle As Long
childhandle = FindWindowEx(notepadHandle, 0, "Edit", vbNullString)
If notepadHandle = 0 Then
MessageBox.Show ("can't find")
Else
'MessageBox.Show (CStr(childhandle))
' MessageBox.Show (WindowText(childhandle))
MessageBox.Show (WindowText(childhandle))
End If
End Sub
Public Function WindowText(ByVal window_hwnd As Long) As String
Dim txtlen As Integer
WindowText = ""
If window_hwnd = 0 Then Exit Function
txtlen = SendMessage(window_hwnd, WM_GETTEXTLENGTH, 0, _
0)
If txtlen = 0 Then Exit Function
txtlen = txtlen + 1
Dim txt As String
txt = String(txtlen + 1, Chr$(0))
txt = Convert.ToString(SendMessage(window_hwnd, WM_GETTEXT, txtlen, txt))
WindowText = Convert.ToString(txt)
End Function
내가 실수를 저질렀습니까?
고지
내 vb6에는 정적 변수가 있습니다. 그리고 정적 절차. 정적 설명 프로 시저 수준에서 변수를 선언하고 저장 공간을 할당하는 데 사용됩니다. Static 문으로 선언 된 변수는 코드가 실행되는 동안 해당 값을 유지합니다. – phd443322
@ phd443322 변수가 아니라 "정적"으로 정의 된 클래스에 대해 실제로 생각하고있었습니다. –
속성/메소드는 클래스에서 정적 일 수 있습니다. 속성 집합 문 개체에 대한 참조를 설정하는 속성 프로 시저의 본문을 구성하는 이름, 인수 및 코드를 선언합니다. 구문 [공개 | 비공개 | 친구] [정적] 속성 집합 이름 ([아글리스트,] 참조) [문] 슬프게도 [종료 속성] [문] 최종 속성 – phd443322