2024年3月21日发(作者:)

'向记事本中写入和获取记事本中内容的程序:

Visual Basic code

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName

As String, ByVal lpWindowName As String) As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As L

ong, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long

Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 A

s Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function EnumChildWindows Lib "user32" (ByVal hWndParent As Long, ByVal

lpEnumFunc As Long, ByVal lParam As Long) As Long

Private Const WM_GETTEXT = &HD

Private Const WM_SETTEXT = &HC

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd

As Long, ByVal lpString As String, ByVal cch As Long) As Long

Private Function Getsum() As Long

Dim tempstr As String, strlong As Long, rtn As Long

Dim winHwnd As Long

Dim winHwnd1 As Long

Dim s As String

Dim RetVal As Long

winHwnd = FindWindow(vbNullString, "无标题 - 记事本")

If winHwnd <> 0 Then

winHwnd1 = FindWindowEx(winHwnd, 0&, "Edit", vbNullString)

s = Space(25700)

strlong = Len(s) + 1

rtn = SendMessage(winHwnd1, WM_GETTEXT, strlong, s)

MsgBox Trim(s)

Else

MsgBox "记事本程序没有运行?"

End If

End Function

Private Function setsum() As Long

Dim Phwnd As Long

Dim ChildHwnd As Long

Phwnd = FindWindow(vbNullString, "无标题 - 记事本")

If Phwnd <> 0 Then

ChildHwnd = FindWindowEx(Phwnd, 0, "Edit", vbNullString)

If ChildHwnd <> 0 Then

SendMessage ChildHwnd, WM_SETTEXT, 0, ByVal

Else

MsgBox "找不到相关控件"

End If

Else

MsgBox "计算器程序没有运行"

End If

End Function

Private Sub Command1_Click()

setsum

End Sub

Private Sub Command2_Click()

Getsum

End Sub

Private Sub Form_Load()

n = "向记事本写入文本"

n = "获取记事本中的文本"

Dim ReturnValue, I

ReturnValue = Shell("", 1) ' 运行记事

AppActivate ReturnValue ' 激活记事

draw = True

End Sub

针对某些无边框窗口 或许可以用GetForegroundWindow来获取它的

Visual Basic code

Private Declare Function GetForegroundWindow Lib "user32" () As Long

Private Sub Command1_Click()

'测试本窗口hwnd

Text2 =

'测试某个活动窗口hwnd

Text1 = GetForegroundWindow

End Sub

End Sub