MFC:如何修复任务管理器输出中的 "TODO <File description> (32 bit)"?

MFC: how to fix "TODO <File description> (32 bit)" in task manager output?

我使用 MFC 开发了一个 win-32 应用程序 (C++)。当我 运行 它时,我看到它在任务管理器中显示为 "TODO < File description > (32 bit)" 并且左侧有一个箭头符号。在单击符号之前,我看不到真正的应用程序名称。

有没有办法删除"TODO ..."并直接显示应用名称?

编辑

我修改“.rc”文件的以下行。

VALUE "FileDescription", "hello_world.exe"

但是,任务管理器仍然显示箭头符号。是否可以在没有下拉的情况下在一行中显示应用程序?

与版本信息和StringFileInfo BLOCK声明有关

它的部分内容是:

FileDescription

File description to be presented to users. This string may be displayed in a list box when the user is choosing files to install—for example, "Keyboard Driver for AT-Style Keyboards". This string is required.


另请参阅相关的 VERSIONINFO 资源文章,其中还指出:

block-statement

Specifies one or more version-information blocks. A block can contain string information or variable information. For more information, see StringFileInfo Block or VarFileInfo Block.


如何更改 IDE

您可以使用 资源视图 选项卡来执行此操作。你会在那里看到一个 Version 树节点:

请注意,资源视图默认不可见。您可以通过 View 菜单打开它。展开 Other Windows 它就会在那里。您也可以使用热键 CTRL + SHIFT + E:


手动更改 RC 文件

如评论中所述,您可以在文本编辑器中打开项目的 RC 文件并更新版本信息。例如:

/////////////////////////////////////////////////////////////////////////////
//
// Version
//

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 20,0,5,0
 PRODUCTVERSION 20,0,5,0
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "080904b0"
        BEGIN
            VALUE "FileDescription", "Meeting Schedule Assistant MFC Application"
            VALUE "FileVersion", "20.0.5.0"
            VALUE "InternalName", "Meeting Schedule Assistant"
            VALUE "LegalCopyright", "Copyright (C) 2003 - 2020"
            VALUE "OriginalFilename", "MeetSchedAssist.EXE"
            VALUE "ProductName", "Meeting Schedule Assistant Application"
            VALUE "ProductVersion", "20.0.5.0"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x809, 1200
    END
END

到目前为止,我一直使用 资源视图 选项卡进行更改。