• 0

C# adding a console window in a windows app


Question

17 answers to this question

Recommended Posts

  • 0
  On 26/05/2010 at 18:37, NotSoSmartGuy said:

Basically I have a windows app and would like to add a console window where I can output Console.WriteLine("SSSSSSSSSSSSSSSS");

embedding a console in windows app or opening a new console windows from windows app?

  • 0

I don't think there is any .NET call for that, but the native function is AllocConsole and you could call that with interop:

[DllImport("kernel32")]
static extern int AllocConsole();

static void Main()
{
        AllocConsole();
}

If you call AllocConsole before calling any console functions, that should be all you need. Otherwise you need to also manually set up stdout and friends. FreeConsole is the opposite of AllocConsole, and is used to get rid of the console.

  • 0

using System.Runtime.InteropServices;

[DllImport("kernel32.dll", EntryPoint = "AllocConsole", SetLastError = true, CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]

private static extern int AllocConsole();

AllocConsole();

Console.WriteLine("Hello World!"); // outputs to console window

  • 0

Wouldn't it make more sense for a GUI app to have a dialog/form/whatever with a textbox that you write to instead? Is there something about the console that you specifically need? If you're just trying to "check what you're doing," I think allocating a console is inappropriate. Especially since the Windows console hasn't changed since Windows 98

It's usually better to tell us what goal you're trying to achieve. Lots of people use the wrong tool for the job.

  • 0
  On 26/05/2010 at 22:23, hdood said:

The console is a quick and useful way of outputting debug messages.

Check out the Debug.Writeline method if you are using Visual Studio, this is an easy way of outputting debug messages http://msdn.microsoft.com/en-us/library/system.diagnostics.debug.writeline.aspx

  • 0
  On 26/05/2010 at 23:07, luke_smily_face said:

Check out the Debug.Writeline method if you are using Visual Studio, this is an easy way of outputting debug messages http://msdn.microsoft.com/en-us/library/system.diagnostics.debug.writeline.aspx

I do not write managed code, but presumably it is equivalent to the native debugging functions, which means you actually have to have a debugger attached in order to see the output. Sometimes you just want to display debug messages without the need for that.

  • 0
  On 27/05/2010 at 09:21, ReDwAvE said:

Easy, Just go to the property of the project and make the Application Type : Console Application

and Writes Console.WriteLine() :)

That's not what he wants. His application is NOT a console application but he still wants to send text to a console. A solution has already been posting anyway

  • 0
  On 27/05/2010 at 17:54, Rudy said:

That's not what he wants. His application is NOT a console application but he still wants to send text to a console. A solution has already been posting anyway

From the smiley face above you should have realized he was joking.

  • 0
  On 26/05/2010 at 23:07, luke_smily_face said:

Check out the Debug.Writeline method if you are using Visual Studio, this is an easy way of outputting debug messages http://msdn.microsoft.com/en-us/library/system.diagnostics.debug.writeline.aspx

Use this instead of console, visual studio will then output this for you internally instead of having one extra window spawning for your console, that also goes away if your program crashes.

If you need to read debug-output from deployed applications or similar have a look on Log4Net(http://logging.apache.org/log4net/index.html) that allows you to configure exactly how you want your debug lines to be output (console/debug, file, to server etc)

  • 0
  On 30/05/2010 at 10:16, FusionOpz said:

Your not writing managed code but you are using C# :/

Are you talking to me? I do not write managed code in C# or any other language, but I can still guess the answer to simpler questions. I said this to make it clear that I had no expertise and was guessing that it was equivalent to certain native APIs. I was saying that a console can be useful because you sometimes want to output certain information to something other than a debugger. The two complement each other, it's not one or the other.

  • 0
  On 31/05/2010 at 05:46, hdood said:

Are you talking to me? I do not write managed code in C# or any other language, but I can still guess the answer to simpler questions. I said this to make it clear that I had no expertise and was guessing that it was equivalent to certain native APIs. I was saying that a console can be useful because you sometimes want to output certain information to something other than a debugger. The two complement each other, it's not one or the other.

Ah was somehow confusing you with the OP :p :whistle: *sneaks out the back door*

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • I guess my brain works differently than other people. I often can't think of the name of the app, but know which icon I want. I don't like icons on my desktop, so the ones I use all the time are pinned to the taskbar, and frequently used ones are pinned to the start menu.
    • eM Client 10.3.2412.0 by Razvan Serea eM Client is a full featured e-mail client with a modern and easy to use interface. eM Client also offers calendar, tasks, contacts and chat. eM Client supports all major services including Gmail, Exchange, iCloud, and Outlook.com. You can easily import your data from most of the other e-mail clients. This includes Microsoft Outlook, Outlook Express, Windows Mail, Windows Live Mail, Thunderbird, The Bat and more. eM Client fully supports touch devices like touch-enabled laptops, tablets and hybrid devices. Use your email client easily in a modern way. eM Client PRO vs. Free version While the Free license allows you to set up the maximum of two accounts in the application, it is possible to add an unlimited number of accounts with the PRO license. The PRO license also enables you to use eM Client for commercial purposes. Commercial use is any activity that helps you make profit, the Free license therefore cannot be used in company settings or on personal computers for business correspondence. PRO users also gain access to the dedicated support system and to the licensing manager. eM Client has been fully optimized to run smoothly on Windows Vista, 7, 8, 10 and 11. eM Client 10.3.2412.0 changelog: Added support for invitation forwarding on IceWarp servers Moving message from POP3 account to local folders no longer deletes the message from POP3 server storage Fixed an issue with some spellcheck languages that might have caused crashes (hungarian, danish and more) Fixed a conflict between a shortcut for a new message with some special characters in some languages (ie. polish) More bug fixes Download: eM Client 10.3.2412 | 128.0 MB (Free, paid upgrade available) View: eM Client Website | eM Client Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • It sometimes comes down to leadership. Where Panos Panay was more about new features and strageic ads, the new lead for Windows seems to be more about fixing performance and consistency along with moving more components to the new settings app. Also for the first time, the Xbox team is allowed to play under the hood and tweaking the OS for what could be a Game Ready Edition. I like the new direction but it was a longer than expected journey.
  • Recent Achievements

    • Week One Done
      BlakeBringer earned a badge
      Week One Done
    • Week One Done
      Helen Shafer earned a badge
      Week One Done
    • First Post
      emptyother earned a badge
      First Post
    • Week One Done
      Crunchy6 earned a badge
      Week One Done
    • One Month Later
      KynanSEIT earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      658
    2. 2
      ATLien_0
      269
    3. 3
      Michael Scrip
      234
    4. 4
      Steven P.
      164
    5. 5
      +FloatingFatMan
      152
  • Tell a friend

    Love Neowin? Tell a friend!