這是我的猜測。Windows資源管理器如何提取EXE文件的圖標
我們通過Windows資源管理器列出文件和目錄。 如果Windows資源管理器遇到一個exe文件,這樣做,
LoadLibraryEx(ExefileName,LOAD_LIBRARY_AS_DATAFILE)
然後提取圖標,代表它。
但我不確定。 有沒有人對此有所瞭解?
我在LOAD_LIBRARY_AS_DATAFILE找到一個不錯的案例
還有什麼你知道的嗎?
這是我的猜測。Windows資源管理器如何提取EXE文件的圖標
我們通過Windows資源管理器列出文件和目錄。 如果Windows資源管理器遇到一個exe文件,這樣做,
LoadLibraryEx(ExefileName,LOAD_LIBRARY_AS_DATAFILE)
然後提取圖標,代表它。
但我不確定。 有沒有人對此有所瞭解?
我在LOAD_LIBRARY_AS_DATAFILE找到一個不錯的案例
還有什麼你知道的嗎?
有一個稱爲ExtractIconEx的win32api。
這正是你在找什麼.. :)
http://msdn.microsoft.com/en-us/library/ms648069%28VS.85%29.aspx
ExtractionIconEx不會調用LOAD_LIBRARY_AS_DATAFILE。 它只是解析PE圖像本身。 – Benjamin 2010-08-24 11:46:41
@Benjamin:你究竟在做什麼?答案非常正確,這基本上是Explorer所做的。 – 2010-08-24 11:49:37
我是在假設,資源管理器也使用標準的win32 apis ..我當然可以錯:) – 2010-08-24 11:51:45
雷蒙德陳一些更詳細信息:
看看在IconLib(C#)的源代碼中,它可以從.exes讀取圖標文件,以便可能會幫助您:http://www.codeproject.com/KB/cs/IconLib.aspx – 2010-08-24 11:34:04