使用WinAPI获取正在运行的应用程序关联的图标

6

如果我知道窗口句柄(Hwnd),如何获取正在运行应用程序的图标?

2个回答

5

如果您有窗口的句柄,您可以使用GetClassLong函数:

HICON icon = (HICON)GetClassLong(window, GCL_HICON);

2
这只适用于某些应用程序(在Windows 7下),例如Steam、Firefox,但不适用于Visual Studio、Explorer、Skype。您还可以尝试使用WM_GETICON,例如在此示例中-http://codeutopia.net/blog/2007/12/18/find-an-applications-icon-with-winapi/ 但是这仍然只为其他小图标提供给你。即使应用程序明显具有更大的图标(如在任务栏上),因此也许更好的方法是从应用程序exe文件获取图标? - Zakus
链接已损坏。 - Victor

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接