桌面上不显示互联网快捷方式Windows 7的图标

时间:2014-12-22 10:56:56

标签: c# desktop-shortcut

我使用以下代码创建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");

1 个答案:

答案 0 :(得分: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. 从'测试'更改快捷方式名称到' Test2'。重复步骤3.
  6. 创建了快捷方式,带有预期图标。
  7. 因此使用的图标似乎映射到快捷方式的名称。