程序猿刚子的博客

大龄程序猿,分享互联网开发相关知识!前端、后端,架构等内容,欢迎关注公众号 chengxuyuangangzi

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

我们知道控制台程序可以接受命令行参数,那么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 分配与释放控制台窗口 

 

posted on 2009-11-19 11:34  程序猿刚子  阅读(2373)  评论(1编辑  收藏  举报