C#Get" real"临时文件的图标

时间:2016-06-09 09:49:49

标签: c# windows winforms icons

我注意到当我运行一些创建tmp文件的安装程序时,即使tmp文件有一个空白图标,windows仍然能够获得正确的图标。

我只是有一个带有while循环的backgroundworker,它监视新进程并在表单中显示图标。我使用SHGetFileInfo方式从流程提供的文件名中获取图标,但我不知道如何提取"真实"来自给定tmp文件名的图标,如C:\...\is-0N5SF.tmp\setup.tmp

我是否有某种方法可以获得创建/启动tmp文件的过程或者我可以解析真实文件/图标路径的方法?

1 个答案:

答案 0 :(得分:1)

临时文件不必然有图标,因为它们是短暂的,其内容由主机应用程序定义。 .tmp文件可能包含XML数据,Zip存档,可执行文件或许多其他内容。获取临时文件的图标不是获取进程图标的正确方法。

获取进程'窗口,使用GetClassInfoEx获取窗口类数据,并复制hIcon成员。 (不是句柄,数据。)