【问题标题】:Icon not displaying for internet shortcut windows 7 on desktop桌面上的 Internet 快捷方式窗口 7 图标未显示
【发布时间】:2014-12-22 10:56:55
【问题描述】:

我正在使用以下代码创建 Internet 快捷方式。但是在桌面的情况下,我正在设置的快捷方式的图标没有显示。但是,如果我手动将快捷方式重命名为其他名称,它的工作正常(图标被加载为快捷方式图像)。

private String CreateDeskTopShortcut(String ApplicationStartupUrl, String IconFilePath)
{
    string deskDir = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);
    String UrlPath = deskDir + "\\" + "Test" + ".url";

    using (StreamWriter writer = new StreamWriter(UrlPath))
    {
        writer.WriteLine("[InternetShortcut]");
        writer.WriteLine("URL=" + ApplicationStartupUrl);
        writer.WriteLine("IconFile=" + IconFilePath);
        writer.WriteLine("IconIndex=0");
        writer.Flush();
    }

    return UrlPath;
}

调用与

相同
CreateDeskTopShortcut("https://ipAddress/website/Login.aspx","E:\Setup_Local\Server.ico");

【问题讨论】:

  • @BenRobinson - 根本不是真的。我刚刚在 LINQPad 中运行了他的代码,它成功生成了一个快捷方式。
  • 但是它的服务器是它的目的。它作为互联网快捷方式工作。我面临的唯一问题是图标没有加载相同。这是创建 Internet 快捷方式的公认方式。

标签: c# shortcut-file


【解决方案1】:

Windows 似乎缓存了图标路径,即使您删除了文件,这种情况仍然存在。我不知道这个缓存存储在哪里,或者它是否在重新启动后仍然存在。我的复制步骤如下:

  1. 调用 CreateDeskTopShortcut("http://www.google.co.uk", "\path\to.ico");
  2. 使用预期图标创建的快捷方式。
  3. 删除快捷方式并调用 CreateDeskTopShortcut("http://www.google.co.uk", "\other-path\to.ico");
  4. 已创建快捷方式,但带有第 1 步中的图标。
  5. 将快捷方式名称从“Test”更改为“Test2”。重复第 3 步。
  6. 已创建快捷方式,带有预期的图标。

所以使用的图标似乎映射到快捷方式的名称。

【讨论】:

  • 谢谢。 +1。我还得出一个结论,即存在一些缓存。现在我正在创建一个新名称的图像,我可以获得一个图像,但它是一个地球图像。为了解决这个问题,我在临时位置创建图像,然后移动到桌面。在显示正确的图像之后。
猜你喜欢
  • 1970-01-01
  • 2011-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
相关资源
最近更新 更多