windowbt.bas
来自「简单时间程序,可以定时执行任务,显示当前时间到前台窗口」· BAS 代码 · 共 68 行
BAS
68 行
Attribute VB_Name = "WindowBT"
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Public Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Public Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Public JubingM, JubingQ As Long
Public BiaotiIn, BiaotiOut, BTemp As String
Public BTCD As Long
Public X, ZC As Integer
Public Sub CapJB() '取句柄
JubingQ = GetForegroundWindow()
End Sub
Public Sub CapBTCD() '取标题长度
BTCD = GetWindowTextLength(JubingQ)
End Sub
'????值得研究的回调函数
Function CapBT(ByVal hwnd As Long, ByVal parma As Long) As Long '取标题
Dim astr As String * 256
GetWindowText hwnd, astr, Len(astr)
X = InStr(astr, Chr(0))
BTemp = Left$(astr, X - 1)
CapBT = True
End Function
'改写标题
Public Sub rewriteBT()
BiaotiOut = BiaotiIn + " " + CStr(Now)
SetWindowText JubingQ, BiaotiOut
End Sub
'还原标题
Public Sub Huanyuan()
cd = GetWindowTextLength(JubingM)
If cd <> 0 Then
SetWindowText JubingM, BiaotiIn
End If
End Sub
Public Sub gengxin()
CapBTCD
If BTCD > 0 Then
CapBT JubingQ, 0
sss = Left(BTemp, ZC - 1)
cdcd = Len(CStr(Now))
If StrComp(sss, BiaotiIn) = 0 And ZC = X - 1 - cdcd Then
rewriteBT
Else
BiaotiIn = BTemp
rewriteBT
ZC = X
End If
End If
End Sub
Public Sub gaixie()
Huanyuan
CapBTCD
If BTCD > 0 Then
CapBT JubingQ, 0
If BTemp = "10Moons TV Baby Capture" Or BTemp = "Program Manager" Or BTemp = "「开始」菜单" Then
Else
BiaotiIn = BTemp
rewriteBT
ZC = X
JubingM = JubingQ
End If
End If
End Sub
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?