精华内容
下载资源
问答
  • 2018-11-14 20:34:32

    1、方法一

    直接在解决方案对应的项目中右击,选择属性->应用程序->输出类型,在下拉列表中选择 控制台应用程序

    2、方法二

    由于控制台api被封装在kernel32.dll链接库中,而kernel32.dll并未托管dll,所以需要使用DllImport来导入。

        static class Program
        {
            /// <summary>
            /// 启动控制台
            /// </summary>
            /// <returns></returns>
            [DllImport("kernel32.dll")]
            public static extern Boolean AllocConsole();
            
            /// <summary>
            /// 释放控制台
            /// </summary>
            /// <returns></returns>
            [DllImport("kernel32.dll")]
            public static extern Boolean FreeConsole();
    
            /// <summary>
            /// 应用程序的主入口点。
            /// </summary>
            [STAThread]
            static void Main()
            {
    #if DEBUG
                AllocConsole();
              //  Console.WriteLine("aa");
    #endif
    
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1());
    
    #if DEBUG
                FreeConsole();
    #endif
            }
        }

     

    更多相关内容
  • 摘要:C#源码,菜单窗体,WinForm,控制台 WinForm执行控制台命令,也就是将控制台命令可视化,方便用户操作,一般情况下,控制台命令我们都使用CMD来启动,而本次,你只需在这个WinForm窗口中输入命令即可。
  • 需求winForm 程序输出类型为 windows 程序(不是命令行程序)在运行时想输入一些信息编译开发调试,如何...namespace WindowsFormsApplication1{ public partial class NativeMethods { ///  /// 启动控制台 //
  • C#_winform内嵌控制台

    2020-08-18 17:29:13
    //屏蔽关闭按钮 } else //快捷方式启动进入 { MessageBox.Show("未找到父窗体,即将重定向!!!","重定向查找"); windowHandle = FindWindow(null, "数据显示"); if (windowHandle != IntPtr.Zero) { Thread.Sleep...

    引用的函数:

     		[System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
            [return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)]
            static extern bool AllocConsole();//开启
    
            [System.Runtime.InteropServices.DllImport("Kernel32")]
            public static extern void FreeConsole();//关闭
    
            [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "FindWindow")]
            extern static IntPtr FindWindow(string lpClassName, string lpWindowName);//找出运行的窗口   
    
             [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "FindWindow")]
            private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
    
            [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetSystemMenu")]
            extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert); //取出窗口运行的菜单   
    
            [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "RemoveMenu")]
            extern static IntPtr RemoveMenu(IntPtr hMenu, uint uPosition, uint uFlags); //灰掉按钮
              
            [System.Runtime.InteropServices.DllImport("User32.dll ", EntryPoint = "SetParent")]
            private static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);//设置父窗体
            
            [System.Runtime.InteropServices.DllImport("user32.dll ", EntryPoint = "ShowWindow")]
            public static extern int ShowWindow(IntPtr hwnd, int nCmdShow);//显示窗口
    

    内嵌窗体(我嵌入给一个tabpages的一个页面)

     			if (AllocConsole())
                {         
                    Console.Title = "数据显示";//先定义窗口标题,防止未找到
                    windowHandle = FindWindow(null, Process.GetCurrentProcess().MainModule.FileName);
                    if (windowHandle != IntPtr.Zero)//在根目录下或VS下进入
                    {
                        Thread.Sleep(100);
                        SetParent(windowHandle, 数据显示.TabPages[0].Handle);
                        closeMenu = GetSystemMenu(windowHandle, IntPtr.Zero);
                        uint SC_CLOSE = 0xF060;
                        RemoveMenu(closeMenu, SC_CLOSE, 0x0);//屏蔽关闭按钮
                    }
                    else //快捷方式启动进入
                    {
                        MessageBox.Show("未找到父窗体,即将重定向!!!","重定向查找");
                        windowHandle = FindWindow(null, "数据显示");
                        if (windowHandle != IntPtr.Zero)
                        {
                            Thread.Sleep(100);
                            SetParent(windowHandle, 数据显示.TabPages[0].Handle);
                            closeMenu = GetSystemMenu(windowHandle, IntPtr.Zero);
                            uint SC_CLOSE = 0xF060;
                            RemoveMenu(closeMenu, SC_CLOSE, 0x0);//屏蔽关闭按钮
                        }
                    } 
                    Console.WindowWidth = 100;
                    Console.SetWindowPosition(0, 0);    
                    Console.ForegroundColor = ConsoleColor.Green;
                    ShowWindow(windowHandle, 3);
                }
                else
                {
                    MessageBox.Show("请注意控制台窗口未正常打开,请检查环境!","环境缺失");
                    return;
                }   
    

    最后:在绑定之前,父窗体一定要刷出来哈

    展开全文
  • 先找到你的项目-》右键,选择属性 然后把输出类型改成控制台应用程序,保存 最后的效果: 转载于:https://www.cnblogs.com/yzw-carrie/p/5534173.html

    先找到你的项目-》右键,选择属性

    然后把输出类型改成控制台应用程序,保存

    最后的效果:

    转载于:https://www.cnblogs.com/yzw-carrie/p/5534173.html

    展开全文
  • C#在WinForm中打开控制台显示

    千次阅读 2019-07-01 16:49:00
     Shell.WriteLine("注意:启动程序...");  Shell.WriteLine("\tWritten by wuming");  Shell.WriteLine("{0}:{1}", "警告", "这是一条警告信息。");  Shell.WriteLine("{0}:{1}", "错误", "这是一条错误信息!...

    引用:

     

    namespace 测试使用
    {
          
    
        public partial class Form1 : Form
        {
            [System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError = true)]
            [return: System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.Bool)]
            static extern bool AllocConsole();
    
            [System.Runtime.InteropServices.DllImport("Kernel32")]
            public static extern void FreeConsole();
    
    
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                AllocConsole();   //开启控制台
            }
        }
    }

     

    输出一

    通常的代码段: Console.WriteLine(“测试”);

    效果显示:

     

     

    输出二:

    创建方法类来进行输出

               Shell.WriteLine("注意:启动程序...");
                Shell.WriteLine("\tWritten by wuming");
                Shell.WriteLine("{0}:{1}", "警告", "这是一条警告信息。");
                Shell.WriteLine("{0}:{1}", "错误", "这是一条错误信息!");
                Shell.WriteLine("{0}:{1}", "注意", "这是一条需要的注意信息。");
                Shell.WriteLine("");

               Shell.WriteLine("测试",ConsoleColor.DarkRed);

     

      static class Shell
        {
            /// <summary>  
            /// 输出信息  
            /// </summary>  
            /// <param name="format"></param>  
            /// <param name="args"></param>  
               public static void WriteLine(string message, ConsoleColor GetConsoleColor)
               {
                   Console.ForegroundColor = GetConsoleColor;
                   Console.WriteLine(@"[{0}]{1}", DateTimeOffset.Now, message);
               }
              
            /// <summary>  
            /// 输出信息  
            /// </summary>  
            /// <param name="format"></param>  
            /// <param name="args"></param>  
            public static void WriteLine(string format, params object[] args)
            {
                WriteLine(string.Format(format, args));
            }
    
            /// <summary>  
            /// 输出信息  
            /// </summary>  
            /// <param name="output"></param>  
            public static void WriteLine(string output)
            {
                Console.ForegroundColor = GetConsoleColor(output);
                Console.WriteLine(@"[{0}]{1}", DateTimeOffset.Now, output);
            }
    
            /// <summary>  
            /// 根据输出文本选择控制台文字颜色  
            /// </summary>  
            /// <param name="output"></param>  
            /// <returns></returns>  
            private static ConsoleColor GetConsoleColor(string output)
            {
                if (output.StartsWith("警告")) return ConsoleColor.Yellow;
                if (output.StartsWith("错误")) return ConsoleColor.Red;
                if (output.StartsWith("注意")) return ConsoleColor.Green;
                return ConsoleColor.Gray;
            }
        }  

     

    效果显示:

     

    转载于:https://www.cnblogs.com/FHL007/p/11115064.html

    展开全文
  • Winform打开和关闭控制台

    千次阅读 2017-01-11 14:57:50
    // 启动控制台 [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static extern bool AllocConsole(); // 释放控制台 [DllImport("kernel32.dll", CharSet = CharSet.Auto)] public static
  • winform 启用控制台

    2012-08-05 22:42:58
    /**////   /// 启动控制台  ///   ///   [DllImport("kernel32.dll")]  public static extern bool AllocConsole();  /**////   /// 释放控制台  ///
  • 如果有的时候我们需要给WPF应用程序传递参数,我们需要自己写一个包含Main函数的类来实现,Winform以及控制台没有隐藏Main函数直接加上参数即可。 外部传递过来的参数就在string[] args里面,例如传递的参数是字符串...
  • 选择“项目”——“XXX属性” 将“输出类型”改为“控制台应用程序”即可
  • 2.WinForm程序和控制台窗口Console 如果你调试过SharpDevelop的源程序,会发现它在DEBUG模式时会出现一个控制台窗口,以显示日志信息。或许我使用的方法与其不同,不过你可以试一试,写出我们自己的调试日志代码。 ...
  • 调用该方法,则在启动控制台的时候,会启动该命令 /// /// 启动控制台 /// /// [DllImport("kernel32.dll")] public static extern Boolean AllocConsole(); /// /// 释放控制台 /// /// [DllImport("kernel32.dll")...
  • c# WinForm调用控制台

    千次阅读 2013-04-25 22:15:04
    由于Windows控制台程序是封装在kernel32.dll,所以有必要讲述一下WinForm如何调用动态链接库的步骤。 1.首先需要在调用窗体中申明using System.Runtime.InteropServices; 2.其次需要在C#语言源程序中声明外部...
  • // 获取启动了应用程序的可执行文件的路径,路径最末不带“\”,适用于Winform程序 System.Windows.Forms.Application.StartupPath // 获取启动了应用程序的可执行文件的路径及文件名,再配合使用System.IO.Path....
  • C#WinForm程序显示控制台窗口Console

    万次阅读 2016-09-22 11:44:12
    启动一个WINFORM项目,使用一些API函数将控制台显示出来: AllocConsole 和 FreeConsole。 老规矩,废话不多说,贴代码 using System; using System.Collections.Generic; using System.Linq; using System...
  • 在UI程序中为了调试,打印信息,控制台程序的黑窗口很方便。 1.Qt-App vs工程属性-》链接器-》所有选项-》子系统-》控制台(/SUBSYSTEM:...3.c#-WinformApp vs工程属性-》应用程序-》输出类型-》控制台应用程序 保.
  • Winform 动态启动控制台命令行

    千次阅读 2011-04-02 11:45:00
    winForm 程序输出类型为 windows 程序(不是命令行程序) 在运行时想输入一些信息编译开发调试,如何实现这一功能 <br />解答: AllocConsole、FreeConsole 这两个 API 可以在任何时候调用...
  • c# WinForm调用控制台

    千次阅读 2014-09-25 13:26:52
    由于Windows控制台程序是封装在kernel32.dll,所以有必要讲述一下WinForm如何调用动态链接库的步骤。 1.首先需要在调用窗体中申明using System.Runtime.InteropServices; 2.其次需要在C#语言源程序中声明外部...
  • C#如何在控制台中嵌如winform窗体

    千次阅读 2018-04-20 17:39:44
    用C#编写一些后台小工具时,我们往往希望既能使用winform界面组件,又能有一个控制台窗口用于显示日志信息,可以用如下方法来实现: 创建win32控制台项目,并在工程中引入 System.Windows.Forms.dll 2.改写...
  • 很多道友提供的隐藏方法,是在入口调用WinAPI 隐藏控制台 这个方案在启动的时候会闪烁 还是会看到控制台出现一下 这里提供隐藏启动(无闪烁)方案
  • winform中的,不能像控制台一样正常在输出窗口(console.writeline(s1))中查看结果,可以 启动(F5),调试--窗口---输出,在下面的输出中就可以看到打印的字符; 2 在程序中查看字符 设置断点,查看两个字符...
  • 本文使用HttpListener框架简易监听HTTP并返回信息,文章详细内容如下 https://www.bilibili.com/read/cv14710452
  • C#在控制台工程中嵌入winform窗体

    千次阅读 2016-11-01 09:22:07
    用C#编写一些后台小工具时,我们往往希望既能使用winform界面组件,又能有一个控制台窗口用于显示日志信息,可以用如下方法来实现: 1. 在工程中引入System.Windows.Forms.dll程序集 2.改写Program.cs文件代码 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,019
精华内容 1,207
关键字:

winform启动控制台