复制窗口标题栏的文本?

复制窗口标题栏的文本?

如何复制 Windows 程序标题栏的全文(实际字母而不仅仅是屏幕截图),然后粘贴到记事本等程序中?在此示例中,我想获取文字

screenshot.png - IrfanView (Zoom: 1674 x 1046) (Selection: 811, 212; 2137 x 1312; 1.629)

将文本保存为硬编码文件名或其他地方也是可以的。我只是想避免手动读取和输入,这很慢而且容易出错。

例子

答案1

可以使用自动热键将窗口标题栏的文本复制到剪贴板。它提供以下功能获得活动标题,其用法如下:

#z::
WinGetActiveTitle, Title
Clipboard := Title
return

答案2

没有任何原生方式可以从 Windows 标题栏复制文本。据我所知,在 Windows 11 和 10 中确实如此。

我建议你尝试这个第三方程序(可能还有其他):

复制标题栏文字

使用 GetWindowText 轻松复制标题栏和打开窗口中其他地方的文本

这个免费、便携且轻便的程序可以让您从通常无法复制的地方复制文本,例如标题栏、状态栏、工具栏等。

该程序具有一个十字准线,您可以将其拖放到需要复制的元素上方。当此十字准线浮动在打开的窗口上方时,它会立即更新,显示可以复制的文本。释放十字准线会停止此过程,并且您可以复制程序面板上当前显示的任何文本。

答案3

我使用以下语音控制经过普吉姆在 Dragon Professional Individual 中将窗口标题栏的文本复制到剪贴板:

'
'   get window title
'
Sub Main
    Clipboard ( GetWindowTitle )
End Sub
'
'   Use these Windows Functions for Getting an active Window title
'
Declare Function GetForegroundWindow Lib "user32" () As Long
'
Declare Function GetWindowText Lib "user32" _
    Alias "GetWindowTextA" ( ByVal hwnd As Long , _
        ByVal lpString As String , ByVal cch As Long ) As Long
'
'   GetWindowTitle
'   (Gets an active Window title)
'
Function GetWindowTitle() As String
    Dim x As Integer
    Dim TitleText As String * 300
    Dim hw As Long
    hw = GetForegroundWindow()
    x = GetWindowText ( hw , TitleText , Len ( TitleText ) )
    GetWindowTitle = Trim ( Left ( TitleText , x ) )
End Function
'

在此处输入图片描述

在 Windows 7 SP1 x64 Ultimate 上使用 Dragon NaturallySpeaking 12.5 professional 以及在 Windows 10 Pro 上使用 Dragon Professional Individual 15.6 进行了测试。

相关内容