C ++ MFC应用程序" caller.exe"调用一个独立的控制台c ++应用程序" target.exe"
" taget.exe"的入口点签名在c ++中看起来像这样
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
CString cmdLine = lpCmdLine;
...
}
和" lpCmdLine"中的移交参数。
我想重写" target.exe"在C#中的应用。但我不知道如何访问lpCmdLine。
我试过
public static void Main(string[] Args)
{
try{
foreach(string arg in Environment.GetCommandLineArgs()) // Args doesnt work either
{
Console.WriteLine(arg);
File.AppendAllText("log.txt",arg);
}
Console.WriteLine(string.Format("{0}",Environment.GetCommandLineArgs().Length));
Console.ReadLine();
}
catch ( Exception e){
throw e;
}
没有运气。
有人可以帮忙吗?
答案 0 :(得分:0)
Args
已经是一个字符串数组,对于在命令行上传递的每个参数都有一个。因此,您可以简单地遍历Args
数组。试试这个简单的程序:
using System;
public class ArgTester
{
static int Main(string[] args)
{
Console.WriteLine("Got {0} arguments", args.Length);
foreach (string arg in args) {
Console.WriteLine("{0}", arg);
}
return 0;
}
}
答案 1 :(得分:0)