C#快捷路径修改

本文关键字:修改 路径 | 更新日期: 2023-09-27 18:29:25

我创建了一个程序,它使用一些库生成通过打开文件对话框选择的特定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) 
        //   {
        //    }
        }
    }
}

C#快捷路径修改

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

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

这就是您想要做的吗?

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

应该按照您想要的方式格式化字符串…

thanx每个人都花时间发现我不能发现的东西,尤其是KeyboardP和他的工作代码,thanx

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