C# 当窗口最小化时,如何获取显示在菜单栏或桌面上的文本?

C# 当窗口最小化时,如何获取显示在菜单栏或桌面上的文本?,c#,c++,windows,sdl,C#,C++,Windows,Sdl,我需要获取使用SDL-1.2.15显示窗口的进程的图标名称 这是关于SDL窗口标题和图标名称的SDL说明: #包括“SDL.h” 设置显示窗口的标题栏和图标名称 title是一个UTF-8编码的以null结尾的字符串,用作 窗口标题(窗口顶部的文本)。功能 不会更改字符串。您可以在函数之后释放字符串 返回 图标是一个UTF-8编码的空终止字符串,将用作 图标化窗口标题(显示在菜单栏或 最小化窗口时的桌面)。与标题一样,此字符串可能 函数返回后将被释放 例如,ffplay使用SDL,我可以这样运行

我需要获取使用SDL-1.2.15显示窗口的进程的图标名称

这是关于SDL窗口标题和图标名称的SDL说明:

#包括“SDL.h”

设置显示窗口的标题栏和图标名称

title是一个UTF-8编码的以null结尾的字符串,用作 窗口标题(窗口顶部的文本)。功能 不会更改字符串。您可以在函数之后释放字符串 返回

图标是一个UTF-8编码的空终止字符串,将用作 图标化窗口标题(显示在菜单栏或 最小化窗口时的桌面)。与标题一样,此字符串可能 函数返回后将被释放

例如,ffplay使用SDL,我可以这样运行它:

 Process p= new Process();
 p.StartInfo.FileName = "ffplay.exe";
 p.StartInfo.Arguments = "-i test.avi";
 p.Start();
然后,我可以使用
GetWindowText
API获取窗口标题,但无法获取图标名称

请告诉我如何获得图标名称。 (对不起我的英语)

更新:
我不需要图标,我需要的是最小化窗口时在菜单栏或桌面上显示的文本。(称为图标名)请阅读SDL说明

我还看到:

但它对我不起作用,因为
Icon.ExtractAssociatedIcon
无法获取图标名称。所以我的问题不是重复的

更新:
我编辑了我问题的标题。

如果您想获得窗口图标,则可以使用winapi,类似于
GetClassLong(hwnd,GCL\u HICON)
。还有一个与exe文件图标(参考资料中的第一个图标)相关联的图标,请参见答案。我不需要图标,我需要最小化窗口时显示在菜单栏或桌面上的文本。(称为图标名)请阅读SDL描述。@Mitra,您试过了吗?另外,不管它值多少钱,我相信图标名称是一个X窗口概念,在MS Windows上可能没有其他选择。@Frédéric,我不知道什么是“X窗口”,但我会尝试
SDL\u WM\u GetCaption()
。非常感谢。
 Process p= new Process();
 p.StartInfo.FileName = "ffplay.exe";
 p.StartInfo.Arguments = "-i test.avi";
 p.Start();