MFC:如何修复任务管理器输出中的“TODO <文件描述>(32 位)”?

Posted

技术标签:

【中文标题】MFC:如何修复任务管理器输出中的“TODO <文件描述>(32 位)”?【英文标题】:MFC: how to fix "TODO <File description> (32 bit)" in task manager output? 【发布时间】:2020-01-22 17:47:07 【问题描述】:

我使用 MFC 开发一个 win-32 应用程序 (C++)。当我运行它时,我看到它在任务管理器中显示为“TODO (32位)”,左侧有一个箭头符号。在单击符号之前,我无法看到真正的应用名称。

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

编辑

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

VALUE "FileDescription", "hello_world.exe"

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

【问题讨论】:

只需在 Visual Studio 中对 "TODO &lt; 进行文本搜索即可,可以选择搜索整个解决方案。 @BarmakShemirani,我试试你的建议。你能帮我做后续编辑吗?谢谢! FileDescription 不会出现在任务管理器中。能否请您发布该文本的屏幕截图? 检查LegalCopyrightProductName,它与FileDescription在同一部分 我建议您可以尝试按照以下步骤操作: 在 Visual Studio 的“文件打开”对话框中,选择 .EXE 文件并单击打开按钮上的向下箭头。选择打开方式...,然后选择资源编辑器。然后将显示所有资源。您可以在此处打开版本资源并进行任何您喜欢的更改。 【参考方案1】:

与版本信息和StringFileInfo BLOCK语句有关。

部分说明:

FileDescription

要呈现给用户的文件描述。当用户选择要安装的文件时,此字符串可能会显示在列表框中,例如“用于 AT 样式键盘的键盘驱动程序”。此字符串是必需的。


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

block-statement

指定一个或多个版本信息块。块可以包含字符串信息或变量信息。有关详细信息,请参阅 StringFileInfo BlockVarFileInfo Block


如何在 IDE 中更改

您可以使用 资源视图 标签来执行此操作。您将在其中看到一个 Version 树节点:

请注意,资源视图默认不可见。您可以通过查看菜单将其打开。展开Other Windows,它就会出现。您也可以使用热键 CTRL + SHIFT + E:


手动更改 RC 文件

如 cmets 中所述,您可以在文本编辑器中打开项目的 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

到目前为止,我一直使用 资源视图 标签来进行更改。

【讨论】:

以上是关于MFC:如何修复任务管理器输出中的“TODO <文件描述>(32 位)”?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复从 VS2010 升级到 VS2013 的项目中的链接器错误,其中链接器正在寻找不存在的 MFC 库文件?

MFC任务管理器task manager----进程的挂起与恢复--NtSuspendProcess&&NtResumeProcess

任务管理器中一堆ie进程,如何关闭?

Gui 设计帮助 - MFC

MFC 线程 UI 中的帮助

如何在winXP中的任务管理器中隐藏程序?