我们知道控制台程序可以接受命令行参数,那么winform程序中如何接受命令行参数呢?
解决:AllocConsole、FreeConsole 这两个 API 可以在任何时候调用和关闭命令行 (kernel32.dll)
实现(c#):
首先,需要导入需要用到的两个API,如下:
[DllImport("kernel32.dll")]
public static extern bool AllocConsole();
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
然后,在应用程序的主入口点处,添加命令行参数,如下:
[STAThread]
static void Main(string args)
{
if (args.Length > 0)
{
NativeMethods.AllocConsole();
Console.Write(args[0].ToString());
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
总结:通过Windows API 分配与释放控制台窗口