• 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

    • Personally I use Chrome however I have Edge and Firefox installed as I inherently still test my websites in multiple browsers thanks to the IE era...
    • That I cannot do, for validity is the basis of use; I have licenses only for Home and Pro.
    • Is Polaroid's Now 3rd Gen camera worth the $99.99 price drop? by Paul Hill For at least a decade there has been a nostalgic feeling gripping people in response to the digitization of everything. We’ve seen this mainly in products like vinyl, and even apps like Slowly that make you wait before your friends receive your “letter”. Another such product trying to capitalize on nostalgia is the Polaroid Now 3rd Generation camera. For a limited time, you can pick it up for just $99.99, instead of $119.99. If you are still searching for a gift for Father’s Day, taking advantage of this limited-time deal would be our suggestion. The Polaroid Now 3rd Generation is available in several colors but only four - Black, Coral, Purple, and Yellow - are available for $99.99, and they all look great. While there is certainly nothing wrong with snapping photos on your phone and storing them in the cloud, you do lose out on the tactileness of a photograph that you get with the Polaroid Now 3rd Generation. Additionally, in recent years, Google has been nagging everyone that their Google Photos storage is about to run out, urging you to delete photos or pay to upgrade, in future clean ups, you might accidentally delete a photo you really wanted to keep, you can’t do that as easily with hard-copy photograph. What it does (and doesn’t) With the 3rd generation of Polaroid Now, you get several improvements over the predecessor. There is a better light meter, upgraded two-lens autofocus, a built-in tripod mount, photo filter compatibility, a self-timer to take snaps with yourself included, and double-exposure modes. This camera remains faithful to the iconic Polaroid design but comes with new colors, four of which are now $99.99 for a limited time. Environmentalism has become all the rage in recent years and consumers want stuff that’s produced more responsibly; to this end, Polaroid has used 40% recycled materials to reduce waste and improve the product’s carbon footprint. The Polaroid Now 3rd Generation uses Polaroid i-Type Film and 600 Film, both of which are sold separately. The cost of the film is probably the biggest issue with this product, it’s priced at $17.99 per 8-pack, so you’re definitely going to want to be mindful about the shots you take. You can cut the cost by buying in bulk. Some of the reviewers were also disappointed with the low-light shots they took indoors. If you are planning to take indoor shots, then be mindful about what other people have said. Outdoors, everything seems in order. The two-lens autofocus system mentioned earlier is a key new feature of this camera. The system combines two fixed focus zones with one lens covering distances from 0.40 meters to 1.3 meters, and the other covering from 1.0 meter to infinity. The camera then automatically switches lenses depending on the best one for the shot. With the self-timer, you can now set up the Polaroid Now 3rd Generation on a tripod and join in with a group photo, or just take a shot of yourself. The double exposure feature lets you layer two images on one piece of film to bring out your creativity to create visually striking and unexpected results. How it compares At this discounted price, the Polaroid Now 3rd Generation is the same price as the 2nd Generation model, but gets newer features. It should also be stated that there’s a Polaroid Now+ 3rd Generation which you can connect to your phone to control with an app, but it’s priced higher. If you’re just looking for a camera that doesn’t complicate things, then the Polaroid Now 3rd Generation is the ideal model. You get the new hardware features, but don’t need to worry about extra connectivity. Who it’s right for The Polaroid Now 3rd Generation is ideal for casual photographers, those looking to snap memories to tangible film, gift-givers looking to buy a parent a Father’s Day gift, or those who love the classic Polaroid aesthetic and want it on a shelf somewhere for decorative purposes. While the camera is now priced well at $99.99, buyers need to consider the on-going cost of the film, which can add up. For anyone who hasn’t used a film camera before, it’s also important for me to point out that prints take a bit of time to develop, some users have also complained about the low-light performance when indoors. If you’re looking for snapping retro outdoor shots, the Polaroid Now 3rd Generation is definitely worth your consideration! Polaroid Now 3rd Generation (Black): $99.99 (Amazon US) - MSRP $119.99 / 17% off Polaroid Now 3rd Generation (Coral): $99.99 (Amazon US) - MSRP $119.99 / 17% off Polaroid Now 3rd Generation (Purple): $99.99 (Amazon US) - MSRP $119.99 / 17% off Polaroid Now 3rd Generation (Yellow): $99.99 (Amazon US) - MSRP $119.99 / 17% off This Amazon deal is US-specific and not available in other regions unless specified. If you don't like it or want to look at more options, check out the Amazon US deals page here. Get Prime (SNAP), Prime Video, Audible Plus or Kindle / Music Unlimited. Free for 30 days. As an Amazon Associate, we earn from qualifying purchases.
  • Recent Achievements

    • First Post
      m10d earned a badge
      First Post
    • Conversation Starter
      DarkShrunken earned a badge
      Conversation Starter
    • One Month Later
      jrromero17 earned a badge
      One Month Later
    • Week One Done
      jrromero17 earned a badge
      Week One Done
    • Conversation Starter
      johnwin1 earned a badge
      Conversation Starter
  • Popular Contributors

    1. 1
      +primortal
      251
    2. 2
      snowy owl
      157
    3. 3
      ATLien_0
      140
    4. 4
      +FloatingFatMan
      139
    5. 5
      Xenon
      128
  • Tell a friend

    Love Neowin? Tell a friend!