【问题标题】:C# Get "real" icon for temporary fileC#获取临时文件的“真实”图标
【发布时间】:2016-06-09 09:49:49
【问题描述】:

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

我只是有一个带有 while 循环的后台工作程序,它监视新进程并在表单中显示图标。我正在使用SHGetFileInfo 方法从进程提供的文件名中获取图标,但我不知道如何从给定的 tmp 文件名(如C:\...\is-0N5SF.tmp\setup.tmp)中提取“真实”图标。

有什么方法可以让我获得创建/启动 tmp 文件的进程,或者我可以解析到真实文件/图标的路径吗?

【问题讨论】:

    标签: c# windows winforms icons


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-31
      • 2015-05-02
      • 1970-01-01
      • 2017-03-25
      • 2013-08-27
      • 1970-01-01
      • 2021-04-03
      • 1970-01-01
      相关资源
      最近更新 更多