2014-12-22 107 views
0

我正在使用以下代碼創建Internet快捷方式。但是我設置的快捷方式的圖標沒有在桌面上顯示。但是,如果我手動重命名其他名稱的快捷方式工作正常(圖標正在加載爲快捷方式圖像)。桌面上不顯示互聯網快捷方式窗口7的圖標

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"); 
+0

@BenRobinson - 不是真的。我剛剛在LINQPad中運行他的代碼,併成功生成了一個快捷方式。 – pixelbadger

+0

但其服務器的目的。其作爲互聯網捷徑的工作。我面臨的唯一問題是圖標不加載相同。這是創建Internet快捷方式的可接受方式。 – amesh

回答

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. 將快捷方式名稱從「測試」更改爲「測試2」。重複步驟3.
  6. 創建快捷方式,帶有預期的圖標。

所以使用的圖標似乎映射到快捷方式的名稱。

+0

謝謝。 +1。我也得出結論,存在一些緩存。現在我用一個新名稱創建圖像,我可以獲取圖像,但是可以獲得全球圖像的圖像。爲了解決這個問題,我在臨時位置創建圖像,然後移動到桌面。之後顯示正確的圖像。 – amesh

相關問題