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


发布评论