2012-04-01 58 views
2

如何從指針或進程/進程名稱獲取窗口圖標?圖標顯示在窗口的角落或任務欄或ALT-Tab菜單中。如何在C中獲取窗口圖標

+3

找到窗口句柄併發送WM_GETICON – 2012-04-01 22:00:01

+0

@DavidHeffernan這隻適用於Windows Mobile,不適用? – 2012-04-01 22:01:22

+0

Duplicate http://stackoverflow.com/questions/462270/get-file-icon-used-by-shell – Odys 2012-04-01 22:10:19

回答

2

讀到Icon.ExtractAssociatedIcon

返回包含在 指定文件中的圖像的圖標表示。

private void ExtractAssociatedIconEx() 
{ 
    Icon ico = 
     Icon.ExtractAssociatedIcon(@"C:\WINDOWS\system32\notepad.exe"); 
    this.Icon = ico; 

} 

http://msdn.microsoft.com/en-us/library/system.drawing.icon.extractassociatedicon.aspx

這不會對每一道工序的工作,但它是一個良好的開端..

也看看這些答案 - How can I get the icon from the executable file only having an instance of it's Process in C#

+0

@CarsenDanielYates歡迎你,如果你喜歡答案,請檢查綠色標記和+1 – 2012-04-01 22:00:15

+1

這個答案是錯誤的。問題是關於與窗口相關的圖標而不是可執行文件。 – 2012-04-01 22:01:36

+0

@DavidHeffernan再次閱讀問題,如何從指針或進程/進程名稱獲取窗口圖標?(PROCESS NAME) – 2012-04-01 22:02:57