我需要获取使用SDL-1.2.15显示窗口的进程的图标名称。
这是关于SDL窗口标题和图标名称的SDL描述:
#include" SDL.h"
void SDL_WM_SetCaption(const char *title, const char *icon);
设置显示窗口的标题栏和图标名称。
title是一个UTF-8编码的以null结尾的字符串,它将作为 窗口标题(窗口顶部的文本)。功能 不会改变字符串。你可以在函数后释放字符串 回报。
icon是一个UTF-8编码的以null结尾的字符串,它将作为 图标化窗口标题(菜单栏中显示的文本或 窗口最小化时的桌面)。与标题一样,这个字符串可以 在函数返回后被释放。
例如ffplay使用了SDL,我可以像这样运行它:
Process p= new Process();
p.StartInfo.FileName = "ffplay.exe";
p.StartInfo.Arguments = "-i test.avi";
p.Start();
然后我可以使用GetWindowText
API获取窗口标题,但我无法获取图标名称。
请告诉我如何获取图标名称。 (抱歉我的英文)
更新: 当窗口最小化时,我不需要图标,我需要显示在菜单栏或桌面上的文本。(称为图标名称)请阅读SDL-Description。
我也看到了这一点:Getting the icon associated with a running application
但它对我不起作用,因为Icon.ExtractAssociatedIcon
无法获取图标名称。所以我的问题不重复。
更新: 我编辑了我的问题标题。