2016-07-19 80 views
2

我試圖讓按鈕一旦按下它,它就會創建一個快捷方式。創建快捷按鈕C時出錯#

任何時候,我按我得到一個錯誤

「System.Runtime.InteropServices.COMException」類型的未處理的異常按鈕發生

附加信息:發生異常。 (異常來自HRESULT:0x80020009(DISP_E_EXCEPTION))

任何人都可以看到爲什麼會發生這種情況?

public static void CreateShortcut(string shortcutName) 
    { 
     WshShell wsh = new WshShell(); 
     string fileName = savDir + "\\" + ProductName + ".ink"; 

     IWshShortcut shortcut = (IWshShortcut)wsh.CreateShortcut(fileName); 
     shortcut.Targetpath = Application.ExecutablePath; 
     shortcut.Save(); 

    } 


    private void button2_Click(object sender, EventArgs e) 
    { 
     string folder = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
     CreateShortcut("folder"); 
    } 

回答

2

您對CreateShortcut調用看起來錯誤:

CreateShortcut("folder"); 

應(不含引號):

CreateShortcut(folder); 
+0

這聽起來像它。試一試。 –

+0

不是這不是它。它引發錯誤在 IWshShortcut快捷鍵=(IWshShortcut)wsh.CreateShortcut(fileName); –

+0

@Webtest - 文件路徑不正確,因此在技術上它會拋出您指定的行。例如,如果'ProductName'設置爲''Blah''',你的路徑將會是''folder \ Blah.ink''。 – CodeNaked