C#ShortCut路径修改

我创建了一个程序,它使用一些库生成通过打开文件对话框选择的特定EXE的快捷方式。 我让它工作,但我希望程序向Target路径添加一个参数,使它看起来像这样:( "E:\Cod4\iw3mp.exe" +Seta Map mp_crash )。 如何在"标记之后添加( + Seta Map mp_Crash )”部分而不删除它或破坏.exe的扩展名?

这是我写的添加参数的代码块:

 label1.Text = openFileDialog1.FileName; shortcut.TargetPath = label1.Text + " Seta Map mp_crash"; shortcut.Save(); 

此代码将seta部分添加到目标但它将破坏扩展,它将看起来像这样"E:\Cod4\iw3mp.exe Seta Map mp_crash "

请帮忙。 这是完整的代码:

 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using IWshRuntimeLibrary; using System.IO; namespace WindowsFormsApplication18 { public partial class Form1 : Form { public Form1() { InitializeComponent( ); } public void CreateShortcut() { object shDesktop = (object)"Desktop"; WshShell shell = new WshShell(); string shortcutAddress = (string)shell.SpecialFolders.Item(ref shDesktop) + @"\Server.lnk"; IWshShortcut shortcut = (IWshShortcut)shell.CreateShortcut(shortcutAddress); shortcut.Description = "Server Shortcut"; shortcut.Hotkey = "Ctrl+Shift+N"; var ofd = new OpenFileDialog(); ofd.ShowDialog(); shortcut.TargetPath = '"' + ofd.FileName + '"' + "+Seta Map mp_crash"; } private void button1_Click(object sender, EventArgs e) { CreateShortcut(); } private void Form1_Load(object sender, EventArgs e) { // var ofd = new OpenFileDialog(); // ofd.ShowDialog(); // string shortcut = '"' + ofd.FileName + '"' + "+Seta Map mp_crash"; // openFileDialog1.DefaultExt = "EXE"; // / // openFileDialog1.FileName = "Iw3mp.exe"; // DialogResult result2 = openFileDialog1.ShowDialog(); // label1.Text = openFileDialog1.FileName; // a = label1.Text; // if (result2 == DialogResult.OK) // { // } } } } 

根据您更新的问题,试试这个

 shortcut.TargetPath = ofd.FileName; shortcut.Arguments = "Seta Map mp_crash"; 

这是你想要做的吗?

  var ofd = new OpenFileDialog(); ofd.ShowDialog(); string shortcut = '"' + ofd.FileName + '"' + " +Seta Map mp_crash"; 

应该格式化字符串你想要的方式……

每个花时间去发现我不能特别的KeyboardP和他的工作代码,thanx

 shortcut.TargetPath = ofd.FileName; shortcut.Arguments = "Seta Map mp_crash";