• 0

[C# or any] Embedding a DOS window?


Question

13 answers to this question

Recommended Posts

  • 0

No. There are 16 bit DOS windows, which run in the emulation layer en there are console windows (start->run type cmd and hit enter to see one). Console windows are actually 32 bits applications which simply don't have a GUI output, but use the good old commandline/console interface.

  • 0

You can embed an existing command line window inside one of your windows using a bit of trickery with the FindWindow, SetParent and MoveWindow Win32 API functions.

This is C# 2005 code, but it should work equally well in 2002 or 2003. The only thing you need to watch is that you have the EXACT text of the command window in the call to FindWindow. Using this code as a template, it wouldn't be terribly difficult to start up a command window from your app and then hijack that instead of a command window started from the shell.

    public partial class Form1 : Form
    {
        [DllImport("user32.dll")]
        private static extern IntPtr FindWindow(String className, String WindowName);

        [DllImport("user32.dll")]
        private static extern IntPtr SetParent(IntPtr childWindow, IntPtr newParent);

        [DllImport("user32.dll")]
        private static extern bool MoveWindow(IntPtr hwnd, int x, int y, int width, int height, bool repaint);

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            IntPtr hwnd = FindWindow(null, "C:\\WINDOWS\\system32\\cmd.exe");
            if (hwnd == IntPtr.Zero)
                MessageBox.Show("Got handle");
            else
            {
                SetParent(hwnd, this.Handle);
                MoveWindow(hwnd, 0, 0, this.Width, this.Height, false);
            }
        }
    }

  • 0

Well that's actually what I was going for. Now for an even less likely question....

Would it be possible to recieve the text in the cmd.exe window using a message or something?

edit: Never mind, this http://www.codeguru.com/Csharp/Csharp/cs_m...icle.php/c8503/ appears to be almost what I need.

Edited by zachman123
  • 0
  AndreasV said:
C:\\WINDOWS\\system32\\cmd.exe <- that's not A DOS window, but a console window (32bits).

585886875[/snapback]

Right, but what he wanted was a command prompt (not, say a DOS game or something). Whether it's a DOS command prompt or a Windows command prompt really isn't THAT important, since you could use the same technique to embed either.

  • 0

I thought by console window you meant the programs console window :D

Anyways, I've got it all worked out.

BTW if you're wondering what this is for... 1. I want to be able to have a nice, good looking DOS/Command/Console (heh) window on my desktop. And 2. Just got a 4x20 lcd and I want to use it to show DOS/Command/Console output on it (I know 20 charactors isn't that big, but meh, it's just for fun).

Thanks to all that helped.

edit: On second thought, I'm interested to see what you've got, Patrick_. Feel free to email/im (aim:zachman123,email/msn:zachman123@gmail.com,yahoo:zachdude123@sbcglobal.net. God I need a sig...) or I'll contact you.

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

    • No registered users viewing this page.
  • Posts

    • Here are all the new features Microsoft added to Teams in June 2025 by Usama Jawad Microsoft Teams is one of the most used software when it comes to online communication and collaboration, especially in enterprise environments. Even though there are still many features that people want in Teams, Microsoft tries to appease as many as it can with regular updates to the tool. Now, the Redmond tech firm has published a roundup of all the capabilities it added to Teams during the month of June 2025. Starting off with chat and collaboration improvements, we have an enhanced spellchecker offering support in up to three languages, with users being given the ability to add corrections to their personal dictionary too. In addition, the new chat and channels experience is now rolling out to Government Community Cloud (GCC) customers. Next, we have improvements to the meetings, webinars, and town halls experience. Loop-powered meeting notes are now available for GCC-High and Department of Defense (DoD) customers, and non-Teams users have the ability to join town hall meetings through Cloud Video Interoperability (CVI) join codes. It is also possible for those invited to join town halls and and webinars using sign-in details, such as PSTN. In a similar vein, town hall organizers can select individuals to manage the screen that is being shown to attendees. Organizers have more control over the broadcast of notifications too, and can also pull in a participant into the call directly and have them present their screen seamlessly. Lastly, town hall usage reports are now available in Teams Admin Center for additional insights. For those more interested on the hardware side of things, the following devices are now Teams-certified: Yealink MeetingBoard Pro MTRA Series-65, 75, and 86 inch Logitech 4K Pro Webcam (for consumer) Logitech Brio Ultra HD Pro Business Webcam (for business) Yealink RoomPanel E2 (8-inch) and E2 Plus (10 inch) Logitech Rally Board 65 + Tap IP for Teams Rooms on Android (wireless) Crestron Videobar 70 EPOS ADAPT 660 USB-C PolyStudio V12 Logitech Zone 305 (with native Bluetooth) That's not all, though. There are several other enhancements present across frontline worker solutions, security, and Teams Phone and Rooms. Read about them in detail here.
    • not if the other person can see the nickname you are setting ?
    • Sure, buddy, sure... let's compare the contents of the article to the stupid thumbnail, it's clearly the same thing and it has the same importance, of course.
    • ha..... man we must buy the wrong stuff because every one we've had has had a crease visible at work
    • I mean my expectations right now are near zero so how much lower?
  • Recent Achievements

    • Week One Done
      dennis Nebeker earned a badge
      Week One Done
    • One Year In
      timothytoots earned a badge
      One Year In
    • One Month Later
      CHUNWEI earned a badge
      One Month Later
    • Week One Done
      TIGOSS earned a badge
      Week One Done
    • First Post
      henryj earned a badge
      First Post
  • Popular Contributors

    1. 1
      +primortal
      466
    2. 2
      +FloatingFatMan
      194
    3. 3
      ATLien_0
      163
    4. 4
      Xenon
      78
    5. 5
      Som
      73
  • Tell a friend

    Love Neowin? Tell a friend!