很简单的一个小动作, 但是如果能【举一反三】加以应用, 它就不再是简单的东东.

'添加 Command1 Command2
Option Explicit '强制变量必须声明
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 hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Const WM_SETTEXT = &HC '常量宣告,不用背,知道它放在那里把它找出来复制粘贴进代码就得了
Dim Phwnd&, TextHwnd& '变量定义
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2 '将窗体移动到屏幕中心
Call Shell("cmd /c notepad", vbHide) '隐藏DOS窗口打开记事本
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3 '将窗口置顶
End Sub
Private Sub Command1_Click()
'利用窗口标题 [无标题 - 记事本] 找到记事本的句柄
Phwnd = FindWindow(vbNullString, "无标题 - 记事本")
TextHwnd = FindWindowEx(Phwnd, 0, "Edit", vbNullString)
'发送 CBM666 文字串改变窗口的标题
If TextHwnd <> 0 Then SendMessage TextHwnd, WM_SETTEXT, 0, ByVal "添加文本内容 CBM666"
End Sub
Private Sub Command2_Click()
'利用窗口标题 [无标题 - 记事本] 找到记事本的句柄
Phwnd = FindWindow(vbNullString, "无标题 - 记事本")
If Phwnd <> 0 Then SendMessage Phwnd, WM_SETTEXT, 0, ByVal "改变标题 CBM666"
End Sub

'添加 Command1 Command2
Option Explicit '强制变量必须声明
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 hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Sub SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)
Const WM_SETTEXT = &HC '常量宣告,不用背,知道它放在那里把它找出来复制粘贴进代码就得了
Dim Phwnd&, TextHwnd& '变量定义
Private Sub Form_Load()
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2 '将窗体移动到屏幕中心
Call Shell("cmd /c notepad", vbHide) '隐藏DOS窗口打开记事本
SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3 '将窗口置顶
End Sub
Private Sub Command1_Click()
'利用窗口标题 [无标题 - 记事本] 找到记事本的句柄
Phwnd = FindWindow(vbNullString, "无标题 - 记事本")
TextHwnd = FindWindowEx(Phwnd, 0, "Edit", vbNullString)
'发送 CBM666 文字串改变窗口的标题
If TextHwnd <> 0 Then SendMessage TextHwnd, WM_SETTEXT, 0, ByVal "添加文本内容 CBM666"
End Sub
Private Sub Command2_Click()
'利用窗口标题 [无标题 - 记事本] 找到记事本的句柄
Phwnd = FindWindow(vbNullString, "无标题 - 记事本")
If Phwnd <> 0 Then SendMessage Phwnd, WM_SETTEXT, 0, ByVal "改变标题 CBM666"
End Sub





