2016-11-10 68 views
4

試圖與下面的方法桌面創建幾個不同的快捷鍵來使用不同網址:添加特定的URL快捷方式目標C#

public static void CreateShortcutWithURL(
    string shortcutName, string shortcutPath, string targetFileLocation) 
{ 
    var shortcutLocation = Path.Combine(shortcutPath, shortcutName + ".lnk"); 
    var shell = new WshShell(); 
    var shortcut = (IWshShortcut)shell.CreateShortcut(shortcutLocation); 

    // The description of the shortcut 
    //shortcut.Description = "My shortcut description"; 

    // The icon of the shortcut 
    //shortcut.IconLocation = @"c:\myicon.ico"; 

    // The path of the file that will launch when the shortcut is run 
    shortcut.TargetPath = $" \" {targetFileLocation} \" https://www.somewebsite.com"; 

    shortcut.Save(); 
} 

它的錯誤,如果我嘗試添加任何東西到targetFileLocation

我用這樣的:

CreateShortcutWithURL(
    "My Shortcut", 
    Environment.GetFolderPath(Environment.SpecialFolder.Desktop), 
    @"C:\Program Files (x86)\Internet Explorer\iexplore.exe"); 

如果我更改方法此行這個它完成,沒有錯誤:

shortcut.TargetPath = targetFileLocation ; 

的快捷方式放在桌面上 - 但沒有額外的https://www.somewebsite.com添加到目標 - 所以它只是打開瀏覽器,而不指引它到網站。

我試圖創建一些快捷方式,打開資源管理器,但使其導航到特定的網站。

+0

目標路徑不應該以空格開始......你真的想把什麼放在那裏? – BugFinder

回答

3

兩件事情是錯誤的:

  1. 你不需要""路徑周圍IEXPLORE.EXE
  2. 您不能將網站地址添加到路徑,它必須是一個參數

更改下面的代碼:

shortcut.TargetPath =" \" "+targetFileLocation+ " \" " + " https://www.somewebsite.com" ; 

更改爲:

shortcut.TargetPath = targetFileLocation; 
shortcut.Arguments = @"https://www.google.com"; 

該方法的其餘部分很好,因爲它是。

+0

不幸的是我看到這個錯誤:在MyApp.exe中發生未處理的異常'System.ArgumentException' 附加信息:值不在預期範圍內。 – Hanny

+0

更新了我的答案,應該立即工作。 – Equalsk

+0

嘿,這很好!我沒有意識到有一個觀點 - 呃。 謝謝! – Hanny