• 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

    • About that Trump's mobile 🤣🤣🤣  
    • AliExpress faces EU crackdown, makes promises to fight illegal products by Paul Hill The European Commission has taken two significant actions against the Chinese online marketplace AliExpress under the Digital Services Act (DSA) in a bid to enhance user and consumer safety online. The first action was to get AliExpress to commit to several legally binding commitments to address issues related to advertising and recommender systems. The second action was the publication of preliminary findings which found that AliExpress had breached obligations regarding the spread of illegal products. AliExpress can now respond to the Commission but if the broken rules are confirmed then AliExpress can expect to be fined. The Digital Services Act is a new tool that the EU has to regulate large online platforms. It aims to level the business playing field, protect fundamental rights of users, create a safer digital space, and improve transparency from businesses. AliExpress's pledges: More transparency, safer shopping As part of the pledges made by AliExpress, it will do more to monitor and detect illegal products such as medicines, food supplements, and adult material propagated through hidden links and affiliate programs. To help flag illegal items, AliExpress has promised to improve its notice and action mechanism. Other pledges include enhancements to the internal complaint handling system; more transparency for advertising and recommender systems; better traceability of traders on the platform; and improved data access for researchers. By implementing these rules, the European Commission hopes it can make AliExpress safer for registered and non-registered users by limiting the exposure to illegal content. Deep dive into AliExpress's alleged failures With regards to the preliminary findings, the Commission found that AliExpress had underestimated the risks because it had not allocated enough resources to moderation systems for illegal products. It also found that the company had failed to consistently enforce its penalty policy against those publishing illegal content. The Commission also discovered systemic failures in AliExpress’s proactive content moderation systems that allowed malicious traders to continue to operate or start operating on the platform. AliExpress is designated as a Very Large Online Platform (VLOP) which means it has to meet certain standards set out by the EU. The aforementioned violations are against the quality of operation that the EU expects from VLOPs. The company now has the right to defend itself against the EC’s findings, it can examine the documents and reply in writing, but if the findings are confirmed, AliExpress could face fines and be required to submit an action plan.
    • Author/Neowin... The title is incorrect and misleading... By the official blog post, it's not "indefinitely". There's a clear statement that development continues with a few specific target areas, and a new release date TBD and announced later. If it is later announced to be cancelled or delayed indefinitely, that's another story.
    • I hate Microsoft. My parents almost lost all drive content. As senior citizens they are unable to follow constant "improvements" Microsoft is dropping on its users. My mother's laptop is normally unlocked with a PIN. It is unexplicable for non-It person, that there is some cloud mictosoft account, that has a different password than the Pin and user ID is e-mail, but not necessarily normal Gmail addree, and even if the person knows this email address the password is not the password used for this email account. Just too much of twists. Suddenly her laptop ordered entering "decryption key" before booting. It was miracle we managed to guess email address associated with the PC that was used for Microsoft account. She would had lost everything on the drive. Why are they doing this? Privacy may be important for some people, but data loss is much more important for most of the people.
  • Recent Achievements

    • First Post
      xuxlix earned a badge
      First Post
    • First Post
      Tomek Święcicki earned a badge
      First Post
    • One Year In
      carlitin86 earned a badge
      One Year In
    • Reacting Well
      Peterlll06 earned a badge
      Reacting Well
    • Week One Done
      Peterlll06 earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      674
    2. 2
      ATLien_0
      283
    3. 3
      Michael Scrip
      226
    4. 4
      +FloatingFatMan
      192
    5. 5
      Steven P.
      145
  • Tell a friend

    Love Neowin? Tell a friend!