C# 命令行参数设置的问题

蚂蚁搬豆 2016-01-25 10:39:03
在项目-设置-命令行参数中添加了参数后调试时可以正常调用参数运行,单独执行EXE时却不能调用参数 ,大神们给指导一下吧
...全文
423 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
蚂蚁搬豆 2016-01-28
  • 打赏
  • 举报
回复
问题已经解决了,是调用的CEF3中的命令行参数没有加成功 谢谢各位了
xian_wwq 2016-01-26
  • 打赏
  • 举报
回复
引用 楼主 zhuliming_it 的回复:
在项目-设置-命令行参数中添加了参数后调试时可以正常调用参数运行,单独执行EXE时却不能调用参数 ,大神们给指导一下吧
创建个bat文件, 在这个文件中添加调用的参数 例如: yourapp.exe -a -b
xuzuning 2016-01-25
  • 打赏
  • 举报
回复
winform 程序要在 运行窗口中键入
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
你写的是控制台程序,自然的在控制台(cmd窗口)中输入参数了 放到快捷方式中只是权宜之计
不是控制台程序,是winform
xuzuning 2016-01-25
  • 打赏
  • 举报
回复
你写的是控制台程序,自然的在控制台(cmd窗口)中输入参数了 放到快捷方式中只是权宜之计
cheng2005 2016-01-25
  • 打赏
  • 举报
回复
windows的设计就是这样的啊,你先搞清楚你到底需要什么,然后再设计程序。
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 3 楼 starfd 的回复:
选中快捷键--右键--属性,你就可以看到目标那一行输入框了
有没有别的办法解决这个问题,这样的话程序打包安装后不是都要修改快捷方式的属性吗
  • 打赏
  • 举报
回复
选中快捷键--右键--属性,你就可以看到目标那一行输入框了
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
你可以创建一个快捷方式,然后在快捷方式属性里设置 参数
怎么在快捷方式里设置参数呢
bdmh 2016-01-25
  • 打赏
  • 举报
回复
你可以创建一个快捷方式,然后在快捷方式属性里设置 参数
秋的红果实 2016-01-25
  • 打赏
  • 举报
回复

foreach(string Argument in Arr)
{
    Response.Write(Argument); //在web控制台,输出每个参数
}

秋的红果实 2016-01-25
  • 打赏
  • 举报
回复
命令行输入参数后,用下列语句获取参数,

  string[] Arr= Environment.GetCommandLineArgs();
xuzuning 2016-01-25
  • 打赏
  • 举报
回复

xuzuning 2016-01-25
  • 打赏
  • 举报
回复
那我就不知道你是怎么调试的了!
如果你下的是 winform 程序,那么默认是没有命令行参数的
必须进行改造
Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace 命令行
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args) //要加上传入参数,默认是没有的
{
if (args.Length == 0) //如果没有参数传入
{
args = new string[] { "a", "b", "c" }; //则指定为默认值
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1(args)); //传递给窗体
}
}
}
Form1.cs
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;

namespace 命令行
{
public partial class Form1 : Form
{
public Form1(string[] args) //要加上传入参数,默认是没有的
{
InitializeComponent();

label1.Text = string.Join("\n", args); //对传入的参数做些处理
}
}
}
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 15 楼 zhuliming_it 的回复:
[quote=引用 14 楼 xuzuning 的回复:] 人要是想不开,那就真的没救了
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                args = new string[] { "a", "b", "c" };
            }
这样写了是真的不起作用[/quote]忘了说了 我是用winform嵌套chrome内核浏览器,调用了CEF3
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 14 楼 xuzuning 的回复:
人要是想不开,那就真的没救了
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                args = new string[] { "a", "b", "c" };
            }
这样写了是真的不起作用
xuzuning 2016-01-25
  • 打赏
  • 举报
回复
人要是想不开,那就真的没救了
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                args = new string[] { "a", "b", "c" };
            }
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 12 楼 starfd 的回复:
对啊,你在程序入口接收参数的地方写默认值不就行了?如果没有对应参数传入,就采用默认值 http://www.cnblogs.com/yidianfeng/archive/2011/01/13/1934395.html 类似下面的代码不会写么?
        static void Main(string[] args)
        {
            string param1 = "defaultValue1";
            string param2 = "defaultValue2";
            if (args != null && args.Length >= 2)
            {
                param1 = args[0];
                param1 = args[1];
            }
            //use your param
}
写了 并没什么用
  • 打赏
  • 举报
回复
对啊,你在程序入口接收参数的地方写默认值不就行了?如果没有对应参数传入,就采用默认值 http://www.cnblogs.com/yidianfeng/archive/2011/01/13/1934395.html 类似下面的代码不会写么?
        static void Main(string[] args)
        {
            string param1 = "defaultValue1";
            string param2 = "defaultValue2";
            if (args != null && args.Length >= 2)
            {
                param1 = args[0];
                param1 = args[1];
            }
            //use your param
}
蚂蚁搬豆 2016-01-25
  • 打赏
  • 举报
回复
引用 8 楼 xuzuning 的回复:
winform 程序要在 运行窗口中键入
不能直接运行EXE的时候就添加参数吗
加载更多回复(2)

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧