标题:Windows 10下任务管理器显示的应用名与程序主窗口标题不一致
作者:roywillow
日期:2019-04-10 12:12
内容:
似乎这个问题存在挺久了,之前一直没太注意,Windows 10下打开任务管理器,会发现显示的应用的名字是exe的文件名,不是主窗口的标题名:
当然也并非一定要一致,但是似乎这个名称是可以通过系统的api进行设置的:
我尝试过setApplicationName、setApplicationDisplayName、setWindowFilePath、QtWin::setCurrentProcessExplicitAppUserModelID,任务管理器里的名称一直是exe文件名。
Qt或者WinAPI有没有相关的接口用来控制这个?
#1 [snolkmg 04-10 15:50]
创建一个rc文件,把程序的相关信息写进去
#2 回 snolkmg 的帖子 [roywillow 04-10 16:34]
snolkmg:
创建一个rc文件,把程序的相关信息写进去
目前我发现的解决方法也是这样的,但是在多语言化出了问题。
1 VERSIONINFO
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904B0"
BEGIN
VALUE "FileDescription", "Simpointmentable"
END
BLOCK "080404B0"
BEGIN
VALUE "FileDescription", "易约表"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200, 0x804, 1200 //US English, unicode, Simplified Chinese, unicode
END
END
系统似乎只调用VarFileInfo中排第一位的语言,比如上面这段跑起来之后显示的是040904B0的内容(我现在的系统是中文语言),当我换了一下位置把0x804放前面后,显示的确实是080404B0的内容,但是换到英文系统语言后同样没有切换到英文的内容。
#3 [stlcours 04-10 16:41]
楼主至少消失了三年,怎么忽然又回来了?
#4 回 stlcours 的帖子 [roywillow 04-10 16:46]
stlcours:楼主至少消失了三年,怎么忽然又回来了? (2019-04-10 16:41)
哈哈哈哈那三年多我可是一行代码都没碰,现在好不容易毕业几年能养活自己了,朋友让我帮写个程序,就只好复出了。好人做到底,所以就想把程序做的稍微精致一点呗。
#5 [stlcours 04-10 21:03]
那你这么多年干什么去了呢?那时候我刚学Qt,对你这个霸气的个人签名的印象还挺深的。
你这个问题,WINAPI肯定是没有,其实也理应如此,exe是一次性生成的,包括版权信息,当然不能随便变。只有去看雪找找相关Crack技术。另外还有就是,把自己的进程隐藏起来(这种文章多了去了,只不过我用不到所以也没试过)、不显示在任务管理器里,然后你的程序动态生成一个辅助Process,专门用来显示这个,哈哈哈。