Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Dim hAcive As Long
Private Sub Form_Load()
hAcive = 0
End Sub
Private Sub Timer1_Timer()
Dim a As Long
a = GetForegroundWindow
If a <灶桐胡>Me.hWnd Then hAcive = a
End Sub
'隐拦hAcive 就是当前拥有聚焦窗口的句柄
'返回窗口句柄 whWnd 所轮虚属进程 ID
Private Function WindowProcessID(ByVal whWnd As Long) As Long
Dim lpdwProcessId As Long
GetWindowThreadProcessId whWnd, lpdwProcessId
WindowProcessID = lpdwProcessId
End Function
Private Declare Function FindWindow Lib "user32" Alias "简团FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate 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 Const WM_SETTEXT = &HC
'//声明
Private Sub Command4_Click() '向记事本写入文字
Dim hwnd As Long, Thwnd As Long
Shell "判燃notepad.exe", 2 '打开一个记事本,将它最小化
hwnd = FindWindow("Notepad", "无标题 - 记事本") '得到记事本句柄
Thwnd = FindWindowEx(hwnd, 0, "Edit", vbNullString) '得到记拦冲橘事本句柄(就是我们写字的那里)
SendMessage Thwnd, WM_SETTEXT, 0, ByVal SS '向记事本写入文字
setfucos hwnd
End Sub
2、分别设置两个文本框的属性,清空文本框的内容,掘者信如下图所示。
3、在窗体上,添加两个命令按钮,如下图所示。
4、分别设置两个文本框的属性,分别命名为“左”、判轮“右”,如下图所示。
5、双击名称为“左”的命令按钮,编辑其代码,如下图所示。
6、双击名称为“右”的命令按钮,编辑其代码,如下图所示。
7、运行程序,点击命令按钮,观察文本框中的焦点变化,如下图所示。嫌早(为了方便观看,先点击“右”命令按钮,再点击“左”命令按钮)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)