将值从C ++应用程序传递到C#应用程序

时间:2017-06-28 17:49:50

标签: c# c++ winforms

我正在从C ++的按钮点击事件中启动C#windows应用程序“Test.exe”,如下所示。

CreateProcess("D:\\Test\\Test.exe",
        “Passing Data to C#”,
        NULL,
        NULL,
        FALSE,
       CREATE_DEFAULT_ERROR_MODE,
       NULL,
       NULL,
       &siStartupInfo,
       &piProcessInfo);

请告诉我如何从C#windows应用程序接收参数“将数据传递给C#”,即Test.exe

2 个答案:

答案 0 :(得分:1)

您的main方法包含一个args字符串数组。您可以像在任何其他数组中一样访问这些参数。例如,如果您从命令提示符运行Test.exe作为" text.exe a b c d e"您可以在main方法中运行此代码来访问每个元素。

for (int i = 0; i < args.Length; i++)
    {
        System.Console.WriteLine(args[i]);
    }

字符串args []很常见,但取决于您使用实际传递的参数的内容可能从args [1]开始。

答案 1 :(得分:0)

您可以阅读C#app的输入法的参数,通常是Main(string[] args),或使用System.Environment.GetCommandLineArgs()

如果您的Main方法没有string[] args,请手动添加。

虽然Main(string[] args)只能在入口方法中使用,但System.Environment.GetCommandLineArgs()可以在代码中的任何位置使用,以获取传递给C#应用的参数。如果您正在编写C#wpf应用程序,这非常有用,wpf应用程序的Main方法是默认编译生成的。