Creating Shortcut where folder name is having unicode characters

前端 未结 1 1678
情深已故
情深已故 2021-01-26 18:31

I have been using the below code to create shortcuts dynamically. But the targetPath throws Argument exception when the folder name has unicode characters like Thai,greek langua

1条回答
  •  孤独总比滥情好
    2021-01-26 19:02

    Reference Shell32.dll from file system, go to COM tab of the "Add ref..." dialog and select the component named "Microsoft Shell Controls And Automation"

    string destPath = @"c:\temp";
    string shortcutName = @"नमस्ते.lnk";
    
    // Create empty .lnk file
    string path = System.IO.Path.Combine(destPath, shortcutName);
    System.IO.File.WriteAllBytes(path, new byte[0]);
    // Create a ShellLinkObject that references the .lnk file
    Shell32.Shell shl = new Shell32.ShellClass();
    Shell32.Folder dir = shl.NameSpace(destPath);
    Shell32.FolderItem itm = dir.Items().Item(shortcutName);
    Shell32.ShellLinkObject lnk = (Shell32.ShellLinkObject)itm.GetLink;
    // Set the .lnk file properties
    lnk.Path = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"\notepad.exe";
    lnk.Description = "nobugz was here";
    lnk.Arguments = "sample.txt";
    lnk.WorkingDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
    lnk.Save(path);
    

    0 讨论(0)
提交回复
热议问题