2016-07-19 6 views
2

Ich versuche eine Taste zu haben, die, sobald Sie sie drücken, eine Verknüpfung erstellt.Fehler beim Erstellen der Tastenkombination C#

Jedes Mal, wenn ich die Taste drücke ich eine Störung erhalte

Eine nicht behandelte Ausnahme des Typs ‚System.Runtime.InteropServices.COMException‘ aufgetreten

Zusätzliche Informationen: Ausnahme aufgetreten. (Ausnahme von HRESULT: 0x80020009 (DISP_E_EXCEPTION))

Kann jemand sehen, warum das passiert?

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"); 
    } 

Antwort

2

Ihr Anruf zu CreateShortcut falsch aussieht:

CreateShortcut("folder"); 

sein sollte (ohne Anführungszeichen):

CreateShortcut(folder); 
+0

, die wie es sich anhört. Versuche es. –

+0

Nein, das ist es nicht. Es wirft den Fehler um IWshShortcut-Verknüpfung = (IWshShortcut) wsh.CreateShortcut (Dateiname); –

+0

@Webtest - Der Pfad zu Ihrer Datei wird nicht korrekt sein, also würde sie technisch auf die angegebene Zeile verweisen. Zum Beispiel wird Ihr Pfad "Ordner \ Blah.ink" sein, wenn 'ProductName' auf' "Blah" 'gesetzt ist. – CodeNaked