是否可以从另一个批处理文件(CMD)更改批处理文件(CMD)的标题

时间:2016-08-12 03:34:16

标签: batch-file cmd

所以我喜欢偶尔制作小batch-file个游戏,对于这个游戏,我希望标题能够被动画化。我无法找到从另一个batch文件(CMD)更改标题的方法。如果你们中的一个人可以帮助我,那将是很好的,因为这将是这场比赛的最后一击。

1 个答案:

答案 0 :(得分:0)

你需要打电话给Windows' API。这是如何使标题栏更改程序。

使用记事本创建文件并将其命名为SetText.bas。将其存储在桌面上。

将其粘贴到其中。

Imports System
Imports System.Runtime.InteropServices
Imports Microsoft.Win32

Public Module MyApplication  

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Sub Main()
    On Error Resume Next
    Dim CmdLine As String
    Dim Ret as Long
    Dim A() as String
    Dim hwindows as long

    CmdLine = Command()
    If Left(CmdLine, 2) = "/?" Then
        MsgBox("Usage:" & vbCrLf & vbCrLf & "ChangeTitleBar Oldname NewName")
    Else
        A = Split(CmdLine, Chr(34), -1, vbBinaryCompare)
        hwindows = FindWindow(vbNullString, A(1))
        Ret = SetWindowText(hwindows, A(3))

    End If
End Sub
End Module

然后输入命令提示符窗口。

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /target:winexe /out:"%userprofile%\desktop\SetText.exe" "%userprofile%\desktop\settext.bas" /verbose

在桌面上创建了一个名为settext.exe的程序。使用

"%userprofile%\desktop\settext" "Untitled - Notepad" "A Renamed Notepad"